Commit Graph
6802 Commits
Author SHA1 Message Date
Axel Dörfler 609442f8f8 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
2004-02-26 02:05:41 +00:00
Axel Dörfler 02f331d59c We no longer need to hold the editor lock for DataEditor::Replace().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-26 02:00:38 +00:00
Axel Dörfler ee24db11e1 Added some argument bound checks in Replace() and SetViewOffset().
Replace(), Insert(), and Remove() now locks the editor themselves.
ReplaceChange::Normalize() corrected the size for the right reason in a wrong way.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-26 01:59:42 +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 32d3a4554d 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
2004-02-25 17:36:12 +00:00
Axel Dörfler 4897914eca Accidently added only an int32 for the size, not an int64.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-25 15:25:07 +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 7d7f16ac72 The AttributeWindow has now possibly two editors, one raw editor (the
standard ProbeView), and one type editor. Started to implemented different
type editors, so far we have: BooleanEditor, StringEditor (not yet fully
working), NumberEditor, and MimeTypeEditor (not complete).
Needed to trick quite a bit to get BTabView to do what I want, since we
cannot detach the ProbeView without losing all of its menus.
All editor views share one backend DataEditor object, so everything is
synchronized and updated automatically.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 17:03:44 +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 4886c973ab Now has Undo/Redo support.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 16:56:47 +00:00
Axel Dörfler 66fcb84e31 Now maintains the undo/redo state watcher, and also the data update
containing the range of affected bytes.
Added missing initialization of fLastChange and fFirstChange.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 16:54:28 +00:00
Axel Dörfler 13cdd48215 Added B_REDO constant (as found in Dano/Zeta).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 15:32:16 +00:00
shatty 77b98cab57 ogg brought up to cvs as of today, required for theora
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 13:52:39 +00:00
shatty d9a70ec5c8 improved memory cleanup
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 13:51:12 +00:00
shatty dd05a93c1b theora codec based on theora cvs as of today
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 13:50:14 +00:00
Adi Oanca 6cb226fd44 small shnages because of the new redrawing code
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 12:03:51 +00:00
Adi Oanca 296a7f991d completely rewritten!
This is the CORE of the NEW drawing code, which WORKS very well! :-)
ATM, only WinBorder remains to be rewritten, but that would be an easy job, because the core is here in Layer class and WinBorder is just a subclass of it...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 12:02:47 +00:00
Adi Oanca 6844f6d0eb small changes because of the new redrawing code
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 11:59:11 +00:00
Adi Oanca 91cf2bda4a Modified a few constrctors so this is the actualized version
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 11:58:25 +00:00
Adi Oanca e0947c82c8 small fixes because of the new redrawing code
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 11:56:43 +00:00
Adi Oanca 01f14b6c8c reduced to a minimum. It's the next on my TODO list to make redrawing code work it also.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 11:56:03 +00:00
Adi Oanca 8fca004965 replaced PortLink with BSession as the default hanlding system in DispatchMessage()
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 11:54:44 +00:00
Adi Oanca a00a89d9c6 fixed a virtual method to method to return properly
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 11:53:35 +00:00
Adi Oanca 82cde293d6 added a method fo copying onscreen regions from one point to another
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 11:50:10 +00:00
Axel Dörfler 36a7951646 Added two more menu items "Save" (non-functional) and "Remove from File"
(working).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6717 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 09:40:01 +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 902673ec27 The settings are now also always saved in little endian.
When the settings are loaded, all parameters are checked for validity.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 09:07:57 +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 d11ec0829b Implemented initial attribute support.
ProbeWindow is now the base class for FileWindow and AttributeWindow.
Currently, attribute window has no special additional controls, but that will come.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 07:24:05 +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 32069a88fa Made the attribute type accessible read-only.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 07:15:56 +00:00
Axel Dörfler 9ee2211f9a 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
2004-02-24 04:36:14 +00:00
Axel Dörfler 84a09d60e1 No longer takes an attribute for a file, or a device for an attribute.
Implemented attribute support.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 04:32:01 +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 6a3227322b 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
2004-02-24 03:33:14 +00:00
Axel Dörfler 0e3cec8c6d Moved the message/notice constants to the bottom.
Added a message that initiates a data update from the editor.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 03:30:22 +00:00
Axel Dörfler 053bb7380a Added a UpdateIfNeeded() method that you can call when you are not
interested in the data at all.
No longer imitates the BHandler observer model, but directly send
its update messages to the observers.
Now also stores the entry_ref of the file/device in the editor.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 03:27:45 +00:00
Axel Dörfler 2d7030fe25 The group views must not B_FOLLOW_ALL unless they are the top-level group
views - that makes all sliders accessible again.
Thanks to Marcus for reporting that bug.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-24 00:37:11 +00:00
Rudolf Cornelissen ff2b84c3d5 fixed most modes on FX5700! (updated PLL discriminator range)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 15:13:18 +00:00
shatty 441fd5bdb4 runtime check for soundplay lossage
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 10:10:41 +00:00
Axel Dörfler f9e9fb76f0 On second thought, it would be strange if the pattern used everywhere
else is not found here. The BeOS kernel also exports these two *_etc()
functions, and we might want to do that, too.
{receive|send}_data() are now interruptible from userland, but not when
called from the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 06:29:59 +00:00
Axel Dörfler ac526351a8 Removed user_strncpy()/strcpy() and backends.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 05:26:08 +00:00
Axel Dörfler 510a1ab1e9 Removed arch_cpu_user_strncpy()/strcpy().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 05:18:51 +00:00
Axel Dörfler 775470756b On second thought, also removed user_strcpy().
Copied over the function description of user_strlcpy() from x86/arch_cpu.h
to this file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 05:13:31 +00:00
Axel Dörfler f4d747d77b No longer uses user_strcpy(), and it's even slightly faster.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 05:08:17 +00:00
Axel Dörfler 26b91cb6ec No longer use user_strcpy() but user_strlcpy().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 05:03:04 +00:00
Axel Dörfler 083d73d739 No longer uses strncpy(). Removed the user_strncpy() call - we don't want
to have it in the kernel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 04:40:02 +00:00
Axel Dörfler 0d6f9a67e5 Banned strncpy(), switched return type from "int" to "status_t" for vfs_get_vnode_from_path().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 04:31:51 +00:00
Axel Dörfler 7d5be143e8 We have status_t.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 04:30:46 +00:00