Commit Graph
50 Commits
Author SHA1 Message Date
Axel Dörfler cfa4cb788c Now uses DataEditor::AttributeRef() where appropriate.
The definition of BEOS_R5_COMPATIBLE is no longer necessary, due to improvements
to our build system.
For root directories, the attributes are now taken from that directory; previously,
only the device was tested for attributes (which doesn't have any in BeOS).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-12-17 08:41:01 +00:00
Axel Dörfler b201976335 Fixed typo.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-29 09:04:20 +00:00
Axel Dörfler dda55a58d7 Added two other unusual font sizes (11 & 13 pt). We may remove then again if
those doesn't look good with our font renderer :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-05 15:36:25 +00:00
Axel Dörfler 4e0afad0c3 Set the stop button font to the small one.
A bit more space for the stop button - it now looks good even in Dano/Zeta.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-10 18:31:45 +00:00
Axel Dörfler 7c49aee74f Improved the placement of the "Stop" button with smaller window sizes.
It will now also follow the right border of the window.
Enlarged the minimum window width a bit, so that the stop button can no
longer overlay the position text control.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6945 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-10 15:11:25 +00:00
Axel Dörfler d858695df8 Some R5 fixes that don't affect Dano/Zeta, and hopefully won't affect us, too:
- BWindow::SetSizeLimits() don't change the window size if it's bigger than the
  maximum.
- BTabView::Select() crashes when the view is not yet attached to a window.
- BMenuItem::DrawContent() has wrong drawing mode set (not really a big issue,
  but I think Draw() should call DrawContent() with correct and usable values)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-04 02:02:09 +00:00
Axel Dörfler 1a5f7f53c6 Unbroke the selection menu item message I broke with the previous change...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-02 11:46:27 +00:00
Axel Dörfler 0513501c11 Fixed the file size check for the selection items - accidently compared
blocks with bytes.
Switched the block offset to using the "block" instead of "position" field
in the kMsgPositionUpdate message.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-02 11:43:22 +00:00
Axel Dörfler f7d4bc0920 Added missing shortcuts as reported by Oscar.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-02 11:39:24 +00:00
Axel Dörfler 4a6c7d6ffc R5 obviously doesn't have B_SHINE_COLOR, B_SHADOW_COLOR, and B_HIGHLIGHTED_CONTROL_COLOR.
Set the shell variable COMPILE_FOR_R5 to 1 when compiling DiskProbe for
R5; it will use default values for the colors in this case.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-01 12:57:15 +00:00
Axel Dörfler 3ef37dbe51 Now listens to file/attribute changes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6825 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-29 22:48:55 +00:00
Axel Dörfler 0283ecc0cd Implemented case insensitive search. It's now available in hex mode as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-29 21:15:31 +00:00
Axel Dörfler 96e78734f6 The FindWindow can now restore a previous state; it's now set to the
state from the window that opened it.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-29 19:32:59 +00:00
Axel Dörfler 3aed9eddce Implemented a find panel. It's one application wide panel that will always
target the last activated window.
Not yet complete - work in progress.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-29 14:22:17 +00:00
Axel Dörfler 3f7c1872fa Only updates the block position view when searching is in progress.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-28 04:21:19 +00:00
Axel Dörfler 995924c2ed The PositionSlider now darkens its filled color if its drawn disabled.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-28 04:15:53 +00:00
Axel Dörfler 8db249194c 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
2004-02-28 04:10:48 +00:00
Axel Dörfler 4fa250ba8d Replaced lazy mode text positioning with real code.
Turns out it didn't work with the menu in sticky mode (because of the triggers).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-27 22:49:59 +00:00
Axel Dörfler 889d692f77 Added some missing consts.
The header will now get the entry_ref from the editor, and not the one
passed to the view (because it may have redirected it).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-27 21:32:28 +00:00
Axel Dörfler 01f3fea56c The DataEditor always starts in the device native block size or 512 for all
other file types, but the block size menu didn't take that into account, it
always showed "512" to be active when started.
Also, if the DataEditor has a block size that is not yet part of the block
size menu, it will be added and made current.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-27 20:21:11 +00:00
Axel Dörfler fe8682ea45 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
2004-02-27 18:41:33 +00:00
Axel Dörfler 0a39d7d615 ProbeView accidently didn't listen to kDataViewPreferredSize events.
Implemented the "Fit" font size setting.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6773 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-27 17:14:53 +00:00
Axel Dörfler a7511f3654 Implemented changing the block size - that caused several changes to
DataEditor::SetViewSize()/SetViewOffset() because they did not correctly
update some values under certain circumstances.
There is now a kMsgDataEditorParameterChange instead of just ...OffsetChange;
the message will contain information about what has changed exactly.
Added a new kDataViewPreferredSize notifier that indicates a change of
the preferred size of the DataView. The ProbeView now listens to that
instead of knowing when to update the window limits.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-27 02:51:48 +00:00
Axel Dörfler def5f759cb Save() actually always displayed an error requester, even if there was no error.
Started working on the block size menu.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6771 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-26 20:18:33 +00:00
Axel Dörfler 124640857d 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
2004-02-26 20:09:11 +00:00
Axel Dörfler 0adaff854a 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
2004-02-26 19:15:37 +00:00
Axel Dörfler 923dddc23d The HeaderView now checks the position before it propagates it for kMsgPositionUpdate.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-26 18:16:10 +00:00
Axel Dörfler c4473afbd1 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
2004-02-26 16:33:48 +00:00
Axel Dörfler 6781cbdc9b 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
2004-02-26 12:54:51 +00:00
Axel Dörfler 9993df0f2a Connected the font size menu. "Fit" doesn't work yet, though.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-26 04:47:39 +00:00
Axel Dörfler 35f497aa98 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
2004-02-25 17:39:01 +00:00
Axel Dörfler 51f0d53048 "int32 * uint32" doesn't give what I wanted (the "previous block" function
was broken).
"Write" had the wrong shortcut (and I already wondered...).
The PositionSlider now correctly disables itself when it's not needed. Added
some nice disabled drawings for the slider bar.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-25 00:54:39 +00:00
Axel Dörfler d426c2b9ea 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
2004-02-24 16:59:15 +00:00
Axel Dörfler e9e26839cc ProbeView now monitors attribute changes of its file (and update its attributes menu).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 09:37:15 +00:00
Axel Dörfler 7fff3ed096 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
2004-02-24 08:52:35 +00:00
Axel Dörfler 595bb3098e Implemented initial attribute support.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 07:21:11 +00:00
Axel Dörfler a0858e6e27 Now correctly displays the block size of the file (didn't round up).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 04:29:23 +00:00
Axel Dörfler cf54799833 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
2004-02-24 03:39:23 +00:00
Axel Dörfler fec798f4df The HeaderView now tracks the current position itself, and also maintains
the last position. The "next", "previous", and "back" position changing
menu items do now work.
Cleaned up target notification for the HeaderView.
"Block/Write" accidently had the wrong short-cut.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-18 16:00:36 +00:00
Axel Dörfler d556aa00c8 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
2004-02-18 14:31:23 +00:00
Axel Dörfler b797c2778b The cursor position is now correctly maintained in the HeaderView as well.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-18 12:26:18 +00:00
Axel Dörfler 6a2a85f498 The PositionSlider can now use the original slider bar when DRAW_SLIDER_BAR
is not defined.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-18 12:11:20 +00:00
Axel Dörfler b95c3b6860 The PositionSlider no longer allows to go beyond the last block (starting
with 0!) by one. Also, SetFileSize() now checks if the position is within
valid bounds.
The device offset is now correctly maintained (it also adds the view offset).
The view offset is now taken into account, too (but it doesn't yet get any
updates from the DataView).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-18 04:34:04 +00:00
Axel Dörfler 5475e6e54c 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
2004-02-18 03:34:10 +00:00
Axel Dörfler 4a66542685 The scroll bars now work correctly.
Mouse wheel support added.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-12 22:57:27 +00:00
Axel Dörfler 90828ad15d 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
2004-02-12 04:21:33 +00:00
Axel Dörfler bc005359f2 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
2004-02-12 03:09:22 +00:00
Axel Dörfler 416271b759 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
2004-02-10 20:10:13 +00:00
Axel Dörfler f8e65da910 Fixed the slider resizing mode and drawing.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-10 15:39:54 +00:00
Axel Dörfler 56aa406a66 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
2004-02-10 15:34:29 +00:00