History log of /haiku/src/apps/diskprobe/ProbeView.h
Revision Date Author Comments
# e85413ad 02-Nov-2018 Axel Dörfler <axeld@pinc-software.de>

DiskProbe: Coding style cleanup

* Not complete, no functional changes intended.


# a1e032c8 10-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

DiskProbe: rewrite to use layout code.

The main goal is to use a layout aware tab view in the attribute editor
window, removing some hacks that caused #10480.


# 58e5eff9 10-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

* Some refactoring and cleanups.
* Started a "View As" feature which will allow you to use the type
editor for the file itself - not yet enabled (or working).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23352 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6f850dfd 26-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Build fixes for the R5/Dano target, no longer relies on the COMPILE_FOR_R5 macro.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16887 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8db24919 27-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Implemented find functionality. The find panel is still missing though, it
just searches for "test".
The find itself is implemented in DataEditor::Find() which sets the editor
in read-only mode and searches for the specified data. It will update a
progress monitor, it will find data no matter if it's on a view size break,
and it is interruptible at any time.
The DataEditor change methods now respect the read-only mode, and return
B_NOT_ALLOWED in this case.
Renamed the UpdateLooper class to EditorLooper class, since it now also
runs the find action.
The ProbeView class now maintains the "Find Again" menu item; it's target
message always contains the item that last searched for.
The HeaderView will now show a "Stop" button while the search operation
is in progress; it also acts as the Find() progress monitor.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6789 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fe8682ea 27-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Implemented the bookmark menu.
Added a possible "block" member for the kMsgPositionUpdate message.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6774 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 12464085 26-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Now made the kSignature constant accessible in an appropriate way.
Implemented the print view stuff (as borrowed from ShowImage). Not yet tested
because the print_server is funny today over here...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6770 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0adaff85 26-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Now checks if there are any outstanding changes in the editor when the
window is closed.
Also, it now reports errors from the save operation if there were any.
Enabled the "Print" and "Page Setup" menu items.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6767 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c4473afb 26-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Now maintains the state of the "Save" menu item.
It will now call DataEditor::Save() in B_SAVE_REQUESTED, but it doesn't yet
notify the user on errors (other then printing them to stdout).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6761 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6781cbdc 25-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Removed the "Block/Write" menu item, and introduced new "Save" menu items;
they are not yet working, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6756 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 35f497aa 25-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Now maintains the Selection/Native/Swapped menu items (which contain the
block position where the currently selected bytes would point to).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6740 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d426c2b9 24-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Now maintains the state of the undo/redo menu items.
Fixed the size limits when the view is buried a bit deeper in the hierarchy.
Tried to disable the slider when it's of no use, but it has no effect...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6735 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7fff3ed0 24-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Implemented R5 compatible settings.
The number base type (hex or decimal) and the window frame is already
correctly maintained (font size is only displayed, but not yet changed).
I don't know the meaning of the last 4 bytes in DiskProbe_data, but
it's probably not that bad.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6714 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 595bb309 24-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Implemented initial attribute support.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6712 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cf547998 23-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Now maintains the "Paste" menu item - it is enabled/disabled when there
is data available in the clipboard or not. "Copy" and "Select All" now
work.
All position updates are now handled by a separate looper class (UpdateLooper),
and are actually applied at the editor. UpdateLooper will send a kMsgUpdateData
to its target synchronously when necessary. Seeking a file now works nicely
and very smooth.
HeaderView::MessageReceived() and UpdateLooper::MessageReceived() only
consider the most current update message for kMsgSliderUpdate resp.
kMsgPositionUpdate.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6707 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d556aa00 18-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Moved the forced focus out of the DataView and into the ProbeView, since
that should not be the default behaviour of the DataView class.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6633 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5475e6e5 17-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

The header view is now completely working. The position control accepts
decimal, hexadecimal, and octal values (it is using strtoll(..., 0);)
Setting the number base type does now work, too.
Updated the Slider class to a PositionSlider class that creates the
illusion of supporting off_t values - almost (see note in Position()).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6623 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 90828ad1 11-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Changed the ConvertLine() method to produce almost exactly the same
output as the original DiskProbe.
fFontSize and fAscent are now automatically maintained when the font
size is changed. Rendering improved (spacing and location).
The maximum window size is now set to contain the whole data view.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6569 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bc005359 11-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Now contains the DataEditor for the file.
No longer uses the node monitoring itself, but the watching mechanism
provided by the DataEditor (it now even does this at the right place).
Removed some variables now maintained by the DataEditor.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6568 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 416271b7 10-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Added a ScrollView to let the window appear more complete :)
The gradient below the header is now drawn by the scroll view, and no longer
by the HeaderView.
The ProbeView can now add a BMenuBar to a window if there is none yet - it
will also create a file menu there and add its print menu items (which is
now in a separated method and called by the ProbeWindow, too).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6555 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 56aa406a 10-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Does this look familiar? Copied the DiskProbe UI - not functional yet, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6553 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a1e032c8759a701911e7946dfafab713cdf7bb35 10-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

DiskProbe: rewrite to use layout code.

The main goal is to use a layout aware tab view in the attribute editor
window, removing some hacks that caused #10480.


# 58e5eff96f4f697e9bac1389c4e07661c25a7ff8 10-Jan-2008 Axel Dörfler <axeld@pinc-software.de>

* Some refactoring and cleanups.
* Started a "View As" feature which will allow you to use the type
editor for the file itself - not yet enabled (or working).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23352 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6f850dfd449d3e2976aa5107d15c440dd807c087 26-Mar-2006 Axel Dörfler <axeld@pinc-software.de>

Build fixes for the R5/Dano target, no longer relies on the COMPILE_FOR_R5 macro.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16887 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8db249194cd850b2122f3d76f101cbcc26fd28ac 27-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Implemented find functionality. The find panel is still missing though, it
just searches for "test".
The find itself is implemented in DataEditor::Find() which sets the editor
in read-only mode and searches for the specified data. It will update a
progress monitor, it will find data no matter if it's on a view size break,
and it is interruptible at any time.
The DataEditor change methods now respect the read-only mode, and return
B_NOT_ALLOWED in this case.
Renamed the UpdateLooper class to EditorLooper class, since it now also
runs the find action.
The ProbeView class now maintains the "Find Again" menu item; it's target
message always contains the item that last searched for.
The HeaderView will now show a "Stop" button while the search operation
is in progress; it also acts as the Find() progress monitor.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6789 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fe8682ea45309b58501b2b8fddfaf27d60b3da3e 27-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Implemented the bookmark menu.
Added a possible "block" member for the kMsgPositionUpdate message.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6774 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 124640857d65de0eee5f9a0f4472d2099505c141 26-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Now made the kSignature constant accessible in an appropriate way.
Implemented the print view stuff (as borrowed from ShowImage). Not yet tested
because the print_server is funny today over here...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6770 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0adaff854a59d08e9d7d28d6498298b593489a09 26-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Now checks if there are any outstanding changes in the editor when the
window is closed.
Also, it now reports errors from the save operation if there were any.
Enabled the "Print" and "Page Setup" menu items.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6767 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c4473afbd1a0d823dedd231ea8baf699d50ba260 26-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Now maintains the state of the "Save" menu item.
It will now call DataEditor::Save() in B_SAVE_REQUESTED, but it doesn't yet
notify the user on errors (other then printing them to stdout).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6761 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6781cbdc9b74b5fa54d623c023c62c4650924e65 25-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Removed the "Block/Write" menu item, and introduced new "Save" menu items;
they are not yet working, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6756 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 35f497aa98efb8dceb8322ea86e2ce07d8b3c2f4 25-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Now maintains the Selection/Native/Swapped menu items (which contain the
block position where the currently selected bytes would point to).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6740 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d426c2b9ead5cab86dc9e52ca57d7d880e9d7a6a 24-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Now maintains the state of the undo/redo menu items.
Fixed the size limits when the view is buried a bit deeper in the hierarchy.
Tried to disable the slider when it's of no use, but it has no effect...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6735 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7fff3ed096826c2efe41f10c2fea71a5e0b4656f 24-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Implemented R5 compatible settings.
The number base type (hex or decimal) and the window frame is already
correctly maintained (font size is only displayed, but not yet changed).
I don't know the meaning of the last 4 bytes in DiskProbe_data, but
it's probably not that bad.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6714 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 595bb3098e28f783b4e70a681589a5df6d5e6d10 24-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Implemented initial attribute support.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6712 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cf547998335ff6515000495485a7c8eeeb494858 23-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Now maintains the "Paste" menu item - it is enabled/disabled when there
is data available in the clipboard or not. "Copy" and "Select All" now
work.
All position updates are now handled by a separate looper class (UpdateLooper),
and are actually applied at the editor. UpdateLooper will send a kMsgUpdateData
to its target synchronously when necessary. Seeking a file now works nicely
and very smooth.
HeaderView::MessageReceived() and UpdateLooper::MessageReceived() only
consider the most current update message for kMsgSliderUpdate resp.
kMsgPositionUpdate.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6707 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d556aa00c817d3aec8243410bcd94a4ce2a5329d 18-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Moved the forced focus out of the DataView and into the ProbeView, since
that should not be the default behaviour of the DataView class.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6633 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5475e6e54cd9f6c59e20ad4bfddfa22ff588c5ad 17-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

The header view is now completely working. The position control accepts
decimal, hexadecimal, and octal values (it is using strtoll(..., 0);)
Setting the number base type does now work, too.
Updated the Slider class to a PositionSlider class that creates the
illusion of supporting off_t values - almost (see note in Position()).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6623 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 90828ad15df5eaeac9cb26bfadecb22e2f627506 11-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Changed the ConvertLine() method to produce almost exactly the same
output as the original DiskProbe.
fFontSize and fAscent are now automatically maintained when the font
size is changed. Rendering improved (spacing and location).
The maximum window size is now set to contain the whole data view.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6569 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bc005359f2f0687a035f1c0399689f16e376d44e 11-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Now contains the DataEditor for the file.
No longer uses the node monitoring itself, but the watching mechanism
provided by the DataEditor (it now even does this at the right place).
Removed some variables now maintained by the DataEditor.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6568 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 416271b7596dfd45862ecb1dd19fd29f46e23426 10-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Added a ScrollView to let the window appear more complete :)
The gradient below the header is now drawn by the scroll view, and no longer
by the HeaderView.
The ProbeView can now add a BMenuBar to a window if there is none yet - it
will also create a file menu there and add its print menu items (which is
now in a separated method and called by the ProbeWindow, too).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6555 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 56aa406a66e68df0194898aa2184de91262d89b3 10-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Does this look familiar? Copied the DiskProbe UI - not functional yet, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6553 a95241bf-73f2-0310-859d-f6bbb57e9c96