Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler 0efc0b5804 Forgot to remove some parts of the previous read lock.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 18:58:54 +00:00
Axel Dörfler 76946b95da Fixed the pipefs. It now should work without any problems.
I don't know which part of me has written the previous version, but
it seems not have been supervised by a brain while doing it.
The read requests are now maintained per inode (as it has to be),
and there is one read lock per request.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 18:57:52 +00:00
Axel Dörfler 482aa308c1 Fixed bug in the settings validation check, thanks to Jerome for reporting this!
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 16:10:21 +00:00
Axel Dörfler 2b7853fb07 The coreutils break the kernel build so I've removed it from the build until that is resolved.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 02:41:46 +00:00
Axel Dörfler 025019e571 Renamed thread/team syscalls to new scheme.
Minor cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:15:48 +00:00
Axel Dörfler 96246c6b3b Fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:15:15 +00:00
Axel Dörfler 663bccf7f9 Renamed thread/team syscalls to new scheme.
Code cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:14:49 +00:00
Axel Dörfler 5d83d63c08 Renamed thread/team syscalls to new scheme.
Removed old ERR_* error codes.
Removed funny area names in rldheap.c.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:13:00 +00:00
Axel Dörfler 39622c6739 sys_get_current_thread_id() is no more.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:10:08 +00:00
Axel Dörfler 5be410a7cd Renamed thread/team syscalls to new scheme.
Tuned the license a bit.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:09:17 +00:00
Axel Dörfler a16600d146 Renamed thread/team syscalls to new scheme.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:08:27 +00:00
Axel Dörfler 6f2229385e Renamed thread/team syscalls to new scheme.
read_data(), has_data(), and receive_data() are no longer exported
by this file, but their _kern_*() equivalents are now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:07:21 +00:00
Axel Dörfler ade669abd7 Renamed thread/team syscalls to new scheme.
Added commented out wait_for_team() which we might want to have in the
final version, too.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:06:23 +00:00
Axel Dörfler 3dbf98a59a Renamed thread/team syscalls to new scheme.
find_thread() is now correct.
Moved send_data(), has_data(), and receive_data() back into this file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:05:13 +00:00
Axel Dörfler 57ffd61845 _kfind_thread_() is now correctly implemented.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:03:31 +00:00
Axel Dörfler acfdb017dd team_kill_team() is now called kill_team().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:02:08 +00:00
Axel Dörfler 0ff38616f4 Renamed syscalls to new scheme.
Changed thread_kill_thread() to the BeOS compatible kill_thread() function.
Added missing _user_kill_thread().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 01:00:16 +00:00
Axel Dörfler 564ffd3da7 Renamed thread/team syscalls to new scheme.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 00:58:19 +00:00
Axel Dörfler 98d68e7085 Renamed syscalls to new scheme.
Moved wait_for_team() into the exported kernel API region.
Added missing call for _user_get_current_team().
Made the team_kill_team() call to the BeOS compatible kill_team().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 00:57:00 +00:00
Axel Dörfler 9e5bff5feb Replaced the syscall for thread_get_current_thread_id() with one for find_thread().
Renamed the thread/team syscalls to the new naming scheme.
Some other minor cleanups.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 00:52:47 +00:00
Axel Dörfler 8e623d69b5 Made it a bit nicer to use.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 00:50:01 +00:00
Axel Dörfler 6f3a136e47 Added the inline x86 asm version of find_thread() as it is found on BeOS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-03 00:44:18 +00:00
Axel Dörfler 1748ad5db7 Added find_thread() (does not yet work with name != NULL).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-02 17:40:14 +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 bf26236cc2 Uppercase letters were accidently converted in the wrong way, and therefore,
ignored in the find panel.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-03-02 11:04:44 +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 c1381da97c Fixed a crashing bug when there is no TypeEditorView.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-29 22:54:27 +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 61102d4381 Fixed bug in GetHexFromData() (accidently used Text() instead of the data
parameter passed in).
Now correctly restores the whole state (find mode and case sensitivity).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-29 19:53:43 +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 afed986dc0 Added missing hex <-> data conversions. Find now works fine.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-29 19:23:34 +00:00
Axel Dörfler f19cd99782 Hex mode text input now works. BTextView is really lacking in some parts.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-29 18:20:04 +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 5d8680c0bb Added a message to change the selection.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-28 04:04:47 +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 a7d7e9c80f Added ToDo items to some code I looked at.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-27 22:48:32 +00:00
Axel Dörfler fa78c88efa The attribute editors are now subclassing TypeEditorView which has a
CommitChanges() method. Editors like the MimeTypeEditor will use this
to propagate their current content when the window receives QuitRequested().
Brought the StringEditor to a usable state (note, currently, all attribute
editors can only change what's there; they cannot change the size of the
attribute - this will be fixed at a later point).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-27 22:26:37 +00:00
Axel Dörfler 54df6d4d66 Probe() now resolves symlinks, and longer accepts directories. It also
won't try to open the file read-only anymore.
RefsReceived() now opens an alert explaining the reason if Probe() fails.
Slightly changed the about requester.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-27 21:45:31 +00:00
Axel Dörfler f424774990 Now accepts directories, but redirects them to their volume instead; also
adopts the block size from the file system in that case.
Fixed the broken check for a device (would also succeed for other types,
stat.st_mode types cannot just be or'd).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-27 21:38:03 +00:00
Axel Dörfler 11d0369852 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
2004-02-27 21:35:23 +00:00
Axel Dörfler e27438edba Will now replace the entry_ref name with the volume title if it's a directory
(since only volumes can slip through, not any directory).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-27 21:34:11 +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 41f353fdb0 The ProbeWindow (base class for FileWindow and AttributeWindow) will now
pass B_SIMPLE_DATA messages to the application but relabel them as
B_REFS_RECEIVED first.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-27 21:31:07 +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 383a3578d0 Removed debug output.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-27 20:19:30 +00:00
Axel Dörfler 8514048790 Added the ability to merge changes. That means undo/redo now have a
handier granularity.
ReplaceChange will now try to merge with the next ReplaceChange if they
are adjacent.
Fixed compilation with tracing enabled.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-27 19:57:45 +00:00
Axel Dörfler 768673c687 Changed the default button to remove the attribute, as that's a bit more
convenient and actually shows some trust in the users decision :-)
Also changed the text to make clear that this action is not covered by
the undo functionality.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-27 19:02:36 +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 aa60f34665 Added the nice "Open File" recent documents menu.
Moved the DiskProbe application signature constant into the DiskProbe.h header file.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-26 19:38:14 +00:00
Axel Dörfler 5d9e40fe92 Added missing R5 headers.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-26 19:35:02 +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 79681755a6 StateWatcher now only sends the update message if some state actually has changed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-26 18:26:50 +00:00
Axel Dörfler 2aa201551a ApplyChanges() didn't always work correctly. Save() could crash with a
wrong index to the fChanges list.
Added the compile time possibility to trace the data editor changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6765 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-26 18:18:28 +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 a4ce63bfc4 Implemented Save() functionality. ApplyChanges() can now create the editor
version of the file from any state.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-26 16:41:09 +00:00
Axel Dörfler c0ced84a62 The Save/Print menu items of the ProbeView were added too soon, so that
BInvoker::SetTarget() could not work yet (before the view was added to
the window).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-26 16:36:08 +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 c65f61d4ad Added a StateWatcher class that will automatically send notices for
all changed states during the lifetime of the object upon destruction.
Added some comments.
Uncommented the IsModified() method (does not yet work correctly, though).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-26 15:18:02 +00:00
Axel Dörfler 35789209bd Removed the MIME type picker from the MimeTypeEditor - it was not yet finished
anyway, and I think it doesn't really belong to this app's realm.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-26 13:04:55 +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 c7a76e9f26 Moved the attribute editors into a separate file.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6755 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-26 12:41:23 +00:00
Axel Dörfler 707aa753f3 Removed DataEditor::SetToAttribute() method.
DataEditor::InitCheck() is now properly working for all types.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-26 05:03:38 +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 b607d18b74 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
2004-02-26 04:35:35 +00:00
Axel Dörfler 7e55eac336 Added a simple image/icon view for the attributes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-26 03:53:05 +00:00
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
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