History log of /haiku/src/apps/diskprobe/DataView.cpp
Revision Date Author Comments
# 36df12a5 08-Oct-2021 Felix Ehlers <felix-haiku@fleximus.de>

diskprobe: Add striped look and vertical line separators

* vertical lines per 4 bytes displayed
* striped line colors

Change-Id: I08508f15a60c5ceab8e3088faca9c03576c129e0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4563
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 1a3a6135 08-Aug-2018 Adrien Destugues <pulkomandy@pulkomandy.tk>

DiskProbe: allow full and half fixed fonts.


# 5bc67134 09-Jan-2016 looncraz <looncraz@looncraz.net>

DiskProbe DataView Color

Previously the DataView relied on the default colors, which layout now
overrides more uniformly. The document colors are more appropriate.

After the addition of the layout changes, the DataView would adopt
system panel colors.

Fixes #12572.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>


# d0f27e41 11-May-2015 Axel Dörfler <axeld@pinc-software.de>

DiskProbe: improved initial window size.

* Also some automatic whitespace cleanup.


# c2a13372 20-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

DiskProbe: don't set a maximal size for the data view

We want the view to expand and fill the horizontal space as much as
possible.


# 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.


# a31ac990 04-May-2013 Jérôme Duval <jerome.duval@gmail.com>

Diskprobe: some 64 bit fixes

* also warnings about comparisons between signed and non signed.


# 37e44362 23-Nov-2009 Philippe Saint-Pierre <stpere@gmail.com>

DiskProbe :
* Fix a gcc4 warning in the boolean operation



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


# de2af681 22-Nov-2009 Philippe Saint-Pierre <stpere@gmail.com>

DiskProbe :
In is_valid_utf8():
* Also accept CR and TAB as valid chars to be copied in clipboard.



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


# 7c47a096 22-Nov-2009 Philippe Saint-Pierre <stpere@gmail.com>

Diskprobe :
in is_valid_utf8() :
* Accept EOL/LF as part of a valid UTF8 string.
* This allow a string containing it to be copied to the clipboard.
* Fixing ticket #1453.


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


# 59d398a1 22-Nov-2009 Philippe Saint-Pierre <stpere@gmail.com>

DiskProbe:
* The is_valid_utf8(..) is supposed to accept a terminating null byte
but was instead looking for a null byte as the first byte.


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


# aa6b2770 28-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed gcc 4 warnings.


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


# 4fba3522 11-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed src/kits/tracker/OpenHashTable.h. The shared version in
headers/private/shared is newer, though with small interface changes.
* Removed the unnecessary Debug.h include in
headers/private/shared/ObjectList.h.
* Adjusted sources using these headers, mostly by adding missing includes.
* Lots of automatic whitespace cleanup.


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


# 8bc239bc 21-Jan-2009 Axel Dörfler <axeld@pinc-software.de>

* Resolved a TODO and implemented an is_valid_utf8() function that replaces the
former is_valid_ascii(). This function is now also exported in the header.
* Some cleanup.


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


# a93fb72b 28-May-2006 Axel Dörfler <axeld@pinc-software.de>

* If only a part of the data could be read, the part that couldn't been read
is now cleared - this changes the behaviour of bug #603, but doesn't fix
it (as this is no DiskProbe bug).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17621 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


# 0ed7eba7 27-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Reverted last change, as BFont::IsFixed() does now work properly, thanks to Stefano.


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


# 0d58f3c2 26-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

BFont::IsFixed() doesn't seem to work correctly under the app_server yet
(though the implementation *looks* correct), so I've disabled this check
for now.
This let it draw the data correctly, although the line selection has
artifacts that are not present under R5.


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


# 56904be5 15-Dec-2004 Axel Dörfler <axeld@pinc-software.de>

The DataView can now also accept drop messages from others and itself; the
mouse is tracked when you're dragging over the view, and the affected area
is selected.


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


# 8e9afca7 15-Dec-2004 Axel Dörfler <axeld@pinc-software.de>

Started implementing drag&drop - for now, you can drag contents out of the
DiskProbe window only. Only ASCII clippings will contain "text/plain" data,
so don't be surprised if Tracker sometimes doesn't create a clipping file
(if you drop on Tracker).


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


# 247c7599 08-Dec-2004 Axel Dörfler <axeld@pinc-software.de>

The block selection is now drawn incrementally if possible which removes flicker.


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


# d9e5697c 25-May-2004 Axel Dörfler <axeld@pinc-software.de>

Selection changes via keyboard no longer copy DiskProbe's original behaviour,
but can be done like in BTextView.
Fixed a strange drawing bug that could happen on startup (R5): IsFocus()
could return false, even if the view had focus.


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


# 8c60a23b 19-May-2004 Axel Dörfler <axeld@pinc-software.de>

addr_t is now defined in public headers.
Fixed missing initialization from fBitPosition which could result in strange
input in the hex mode (only at first try).


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


# d3764d6d 10-Mar-2004 Axel Dörfler <axeld@pinc-software.de>

Didn't send notices about a new preferred size when the block size was changed.


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


# 3ef37dbe 29-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Now listens to file/attribute changes.


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


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

Added a message to change the selection.


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


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

No longer displays the selection when the file size is 0.
Also fixed a possibly wrong cursor position in that case.


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


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

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


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

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


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

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


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

Now also send a selection update notice if the contents have changed.


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


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

Moved the B_COPY code into a separate function. Implemented B_PASTE.
Now also changes the selection to the cursor position in the hex editor when
you change the first part of the byte.
No need to hold the editor lock for Replace().


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


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

Added a method to access DataView's internal buffer.
Implemented editing functionality for both focus types.
Optimized InvalidateRange() if the update spans over the whole view.
Now resets the cursor position/selection when the editor offset changed.
UpdateFromEditor() now takes the range of the size into account.


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


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

Now has Undo/Redo support.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6734 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


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

Ignored the file size - it would have shown imaginary contents of a file
in its last block.


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


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

Added a selection observer notice (in addition to cursor position).
Now listens to B_SELECT_ALL, and B_COPY.
B_COPY copies the selection as "application/octect-stream" and, if
it's a valid ASCII string, also as "text/plain".


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


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

Now has one central DataBounds() method that's used by GetPreferredSize()
and others.
MouseMoved() no longer passes an invalid position to SetSelection() (avoiding
the selection to be changed unexpectedly). It will now also make sure that the
position hovered by the mouse is visible.
PositionAt() no longer skips points that are not inside the valid bounds (even
the wrong bounds), but clips the point to be inside of it.


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


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

Implemented proper focus handling in DataView instead of forcing focus
whenever the window got activated.
New DataView::MakeVisible() makes sure the specified position is visible
in the view, and scrolls to it if not (both, horizontally and vertically).
Implemented cursor navigation and selection extension in the DataView class.
Fixed a bug in DataView::SetSelection() that could let slip through invalid
values.
Renamed DataEditor observer notices.


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


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

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


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

Added support for different number bases in the offset column.


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


# 4a665426 12-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

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


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

Implemented the selection code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6571 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


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

Started to implement the DataView class that will be the view to the editor.
For your entertaining it already shows the first block of the file/device.


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


# d0f27e418ffc7c3ef34e74899a450b6caf758eb6 11-May-2015 Axel Dörfler <axeld@pinc-software.de>

DiskProbe: improved initial window size.

* Also some automatic whitespace cleanup.


# c2a13372aa00b3d9739c8d01c735f9f0c1a77e0c 20-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

DiskProbe: don't set a maximal size for the data view

We want the view to expand and fill the horizontal space as much as
possible.


# 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.


# a31ac990cc82daeccd7c8deb39e0c634643418fc 04-May-2013 Jérôme Duval <jerome.duval@gmail.com>

Diskprobe: some 64 bit fixes

* also warnings about comparisons between signed and non signed.


# 37e44362b6d5fcb7637253f3d05a95d566cf49d5 23-Nov-2009 Philippe Saint-Pierre <stpere@gmail.com>

DiskProbe :
* Fix a gcc4 warning in the boolean operation



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


# de2af681ea4c58809d423909ab6ca14bd28d11d5 22-Nov-2009 Philippe Saint-Pierre <stpere@gmail.com>

DiskProbe :
In is_valid_utf8():
* Also accept CR and TAB as valid chars to be copied in clipboard.



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


# 7c47a09644f2676aedd108b7052d4f3f217ec557 22-Nov-2009 Philippe Saint-Pierre <stpere@gmail.com>

Diskprobe :
in is_valid_utf8() :
* Accept EOL/LF as part of a valid UTF8 string.
* This allow a string containing it to be copied to the clipboard.
* Fixing ticket #1453.


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


# 59d398a1ae2ea9d17dd27a8a6e7a47b4f02170f2 22-Nov-2009 Philippe Saint-Pierre <stpere@gmail.com>

DiskProbe:
* The is_valid_utf8(..) is supposed to accept a terminating null byte
but was instead looking for a null byte as the first byte.


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


# aa6b2770fcb82b6ca9228a080e64394410bd6251 28-Jun-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed gcc 4 warnings.


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


# 4fba3522e02906506b6c713ef5b57d72e9458fef 11-Apr-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* Removed src/kits/tracker/OpenHashTable.h. The shared version in
headers/private/shared is newer, though with small interface changes.
* Removed the unnecessary Debug.h include in
headers/private/shared/ObjectList.h.
* Adjusted sources using these headers, mostly by adding missing includes.
* Lots of automatic whitespace cleanup.


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


# 8bc239bc55c023254f4526c03b3a4bcd05c97705 21-Jan-2009 Axel Dörfler <axeld@pinc-software.de>

* Resolved a TODO and implemented an is_valid_utf8() function that replaces the
former is_valid_ascii(). This function is now also exported in the header.
* Some cleanup.


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


# a93fb72be9510667dacf7c433859d246edacda55 28-May-2006 Axel Dörfler <axeld@pinc-software.de>

* If only a part of the data could be read, the part that couldn't been read
is now cleared - this changes the behaviour of bug #603, but doesn't fix
it (as this is no DiskProbe bug).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17621 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


# 0ed7eba7131c831241262e34399ed409985d6fd1 27-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

Reverted last change, as BFont::IsFixed() does now work properly, thanks to Stefano.


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


# 0d58f3c28451cf48ebd6c06ce5af7cd397782df9 26-Jun-2005 Axel Dörfler <axeld@pinc-software.de>

BFont::IsFixed() doesn't seem to work correctly under the app_server yet
(though the implementation *looks* correct), so I've disabled this check
for now.
This let it draw the data correctly, although the line selection has
artifacts that are not present under R5.


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


# 56904be5167c10e26398d0deec6ae849edb8e9f8 15-Dec-2004 Axel Dörfler <axeld@pinc-software.de>

The DataView can now also accept drop messages from others and itself; the
mouse is tracked when you're dragging over the view, and the affected area
is selected.


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


# 8e9afca70f0bcb2484b73e4d5cba031f83ce4bd7 15-Dec-2004 Axel Dörfler <axeld@pinc-software.de>

Started implementing drag&drop - for now, you can drag contents out of the
DiskProbe window only. Only ASCII clippings will contain "text/plain" data,
so don't be surprised if Tracker sometimes doesn't create a clipping file
(if you drop on Tracker).


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


# 247c75991ca2fee393a4075b6c21570a3ee7a46a 08-Dec-2004 Axel Dörfler <axeld@pinc-software.de>

The block selection is now drawn incrementally if possible which removes flicker.


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


# d9e5697c73d6b29cecb754cf1ff3e4e28cad68df 25-May-2004 Axel Dörfler <axeld@pinc-software.de>

Selection changes via keyboard no longer copy DiskProbe's original behaviour,
but can be done like in BTextView.
Fixed a strange drawing bug that could happen on startup (R5): IsFocus()
could return false, even if the view had focus.


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


# 8c60a23b169aac72a25d17428afcb7e381f1da78 19-May-2004 Axel Dörfler <axeld@pinc-software.de>

addr_t is now defined in public headers.
Fixed missing initialization from fBitPosition which could result in strange
input in the hex mode (only at first try).


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


# d3764d6d1c45871b097d3768b22f16a17b06db03 10-Mar-2004 Axel Dörfler <axeld@pinc-software.de>

Didn't send notices about a new preferred size when the block size was changed.


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


# 3ef37dbe5172825d8143c51aba5eb6311ab462c8 29-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

Now listens to file/attribute changes.


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


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

Added a message to change the selection.


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


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

No longer displays the selection when the file size is 0.
Also fixed a possibly wrong cursor position in that case.


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


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

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


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

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


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

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


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

Now also send a selection update notice if the contents have changed.


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


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

Moved the B_COPY code into a separate function. Implemented B_PASTE.
Now also changes the selection to the cursor position in the hex editor when
you change the first part of the byte.
No need to hold the editor lock for Replace().


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


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

Added a method to access DataView's internal buffer.
Implemented editing functionality for both focus types.
Optimized InvalidateRange() if the update spans over the whole view.
Now resets the cursor position/selection when the editor offset changed.
UpdateFromEditor() now takes the range of the size into account.


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


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

Now has Undo/Redo support.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6734 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


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

Ignored the file size - it would have shown imaginary contents of a file
in its last block.


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


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

Added a selection observer notice (in addition to cursor position).
Now listens to B_SELECT_ALL, and B_COPY.
B_COPY copies the selection as "application/octect-stream" and, if
it's a valid ASCII string, also as "text/plain".


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


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

Now has one central DataBounds() method that's used by GetPreferredSize()
and others.
MouseMoved() no longer passes an invalid position to SetSelection() (avoiding
the selection to be changed unexpectedly). It will now also make sure that the
position hovered by the mouse is visible.
PositionAt() no longer skips points that are not inside the valid bounds (even
the wrong bounds), but clips the point to be inside of it.


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


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

Implemented proper focus handling in DataView instead of forcing focus
whenever the window got activated.
New DataView::MakeVisible() makes sure the specified position is visible
in the view, and scrolls to it if not (both, horizontally and vertically).
Implemented cursor navigation and selection extension in the DataView class.
Fixed a bug in DataView::SetSelection() that could let slip through invalid
values.
Renamed DataEditor observer notices.


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


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

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


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

Added support for different number bases in the offset column.


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


# 4a665426852e1490193317aeec0f2ee2882a027f 12-Feb-2004 Axel Dörfler <axeld@pinc-software.de>

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


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

Implemented the selection code.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6571 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


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

Started to implement the DataView class that will be the view to the editor.
For your entertaining it already shows the first block of the file/device.


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