Commit Graph
100 Commits
Author SHA1 Message Date
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
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
Axel Dörfler c0601b3a79 Cleaned up _get_sem_info() and _get_next_sem_info().
Implemented the B_CURRENT_TEAM mechanism for _get_next_sem_info().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 04:26:44 +00:00
Axel Dörfler faeac94982 Removed <kerrors.h> and the last occurences of ERR_* codes.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 04:12:34 +00:00
Axel Dörfler 48f31b9581 Replaced team_get_team_struct() with its safer friend team_is_valid().
Replaced SYS_MAX_OS_NAME_LEN with B_OS_NAME_LENGTH.
Banned strncpy().
Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 04:08:09 +00:00
Axel Dörfler 3402b15625 No longer needed.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 04:05:47 +00:00
Axel Dörfler 70f0602f2d Cleaned up the _get_port_info() and _get_next_port_info() calls, factored
out the port_info setup to fill_port_info(), implemented the B_CURRENT_TEAM
behaviour as described in the BeBook (well, almost, since B_CURRENT_TEAM
is not defined in R5, it's just "0"), improved error checking.
Cleaned up user syscalls.
Replaced SYS_MAX_OS_NAME_LEN with B_OS_NAME_LENGTH.
Banned strncpy().
Added our license.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 04:02:24 +00:00
Axel Dörfler 31bedae9ea Replaced SYS_MAX_OS_NAME_LEN with B_OS_NAME_LENGTH.
Replaced "addr" with "addr_t".
And while I was at it, I also added the additional team parent/child members
as found in NewOS change 1930 (not applying the whole change yet).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:55:53 +00:00
Axel Dörfler 492e5970b0 Cleaned up the user syscalls: no longer uses strncpy(), replaced SYS_MAX_OS_NAME_LEN
with B_OS_NAME_LENGTH, make use of the IS_USER_ADDRESS() macro, etc.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:54:00 +00:00
Axel Dörfler 5c23f57060 I am not sure why I did those, but I guess it has something to do with doxygen.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:52:08 +00:00
Axel Dörfler 592a6437f2 receive_data() is now interruptible (as reported by Starr Kline) - not tested!
Cleaned up _get_thread_info() & _get_next_thread_info() - factored out
the thread_info setup into fill_thread_info().
Is now using team_is_alive() instead of team_get_team_struct().
Replaced SYS_MAX_OS_NAME_LEN with B_OS_NAME_LENGTH.
Banned strncpy() in favor for strlcpy().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:46:42 +00:00
Axel Dörfler 7ba272b8b3 Added a B_CURRENT_TEAM constant - it's not available in BeOS, but it's
actually used at several places (like get_next_thread_info(), ...).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:32:44 +00:00
Axel Dörfler 2a3ec096a4 Replaced usage of team_get_team_struct() with team_is_valid().
Replaced some old error codes.
Explained a bit more how to solve a race condition.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:31:08 +00:00
Axel Dörfler 813b3cc53e Removed the non-Be-compatible devfs partition info stuff.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:25:13 +00:00
Axel Dörfler 07f317bf6a Replaced SYS_MAX_OS_NAME_LEN with B_OS_NAME_LENGTH.
Removed old error codes.
Replaced the DEVFS_IOCTL_* with their Be equivalents. Note, the related
functions are not user space safe yet. But since the devfs will be
almost rewritten, there is no point in changing it now.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:21:59 +00:00
Axel Dörfler 677e35664d Replaced SYS_MAX_OS_NAME_LEN with B_OS_NAME_LENGTH.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:19:02 +00:00
Axel Dörfler 2e6b261697 Small cleanup.
Replaced SYS_MAX_OS_NAME_LEN with B_OS_NAME_LENGTH.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:14:49 +00:00
Axel Dörfler 166515d663 Replaced the scary team_get_team_struct() with the more pleasing team_is_valid().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 03:13:54 +00:00
Axel Dörfler 0fc073341c Renamed CHECK_USER_ADDRESS to IS_USER_ADDRESS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-23 02:18:32 +00:00
Axel Dörfler 3905fad39d Added a ToDo comment about the missing reply sending on destruction (as reported by Ingo).
You don't have to check against NULL when deleting an object.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-22 16:38:24 +00:00
Axel Dörfler ab7ada645a Renamed the CHECK_USER_ADDRESS() macro to IS_USER_ADDRESS().
Added a IS_KERNEL_ADDRESS() macro.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-22 14:56:50 +00:00
Axel Dörfler 38afe35e66 Renamed CHECK_USER_ADDRESS() to IS_USER_ADDRESS() to make its function more clear.
Added our license to the updated source files.
Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-22 14:52:59 +00:00
Axel Dörfler dc204ab22f Fixed the test for the knob position with B_DOCUMENT_WINDOW_LOOK.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-20 21:35:52 +00:00
Axel Dörfler 75c3c8f50d Fixed SetTarget() - BTW is even correctly implemented in R5.
Beautified SetBorderHighlighting().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-20 21:33:08 +00:00
Axel Dörfler b14df7ac85 Now also checks the SetTarget() functionality.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6668 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-20 21:29:01 +00:00
Axel Dörfler 52bb9b2d33 Now takes B_DOCUMENT_WINDOW_LOOK properly into account.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-20 21:10:41 +00:00
Axel Dörfler 8c37ad5595 Now opens three other windows to check against B_DOCUMENT_WINDOW_LOOK.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-20 21:10:03 +00:00
Axel Dörfler ecae314976 We are now updating our drawings properly on resize.
ModifyFlags() now sets B_FRAME_EVENTS if B_FULL_UPDATE_ON_RESIZE was not set.
Fixed a small bug in SetBorder().


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-20 20:31:42 +00:00
Axel Dörfler 26a96b1674 New private static method BorderSize().
Correctly implemented SetBorderHighlighted(), but differently from BeBook
description (see comment).
Unlike the R5 version, correctly implemented SetBorder().
Draw() now takes SetBorderHighlighted() into account.
The BScrollView(BMessage *) constructor now searches its children for
the scroll bars, no matter in what order they are.
Corrected a drawing glitch that was also exposed in the R5 version (the
scroll bars are misplaced for anything else but B_NO_BORDER).
Renamed resizeMask to the more usual resizingMode.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-20 19:04:00 +00:00
Axel Dörfler 28632c48ce Added a private static BorderSize() method. I wonder why those functions
are exposed at all...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-20 18:43:34 +00:00
Axel Dörfler a8c4af5a80 Changed so that it can test the resize behaviour of the scroll view.
Added SetBorder() test.
You can now enable the additional tests more differentiated.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-20 17:06:08 +00:00
Axel Dörfler c81fdc88cc Added some output to test archiving functionality.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-20 15:05:40 +00:00
Axel Dörfler 122e979e2d Renamed ModFlags() to ModifyFlags() and made it static.
Implemented SetTarget().
Implemented BArchivable methods, R5 compatible.
The constructor still crashes when the provided target is NULL (as R5),
but the rest now accepts it (to make it reliable against SetTarget() and
shallow archiving).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-20 15:04:09 +00:00
Axel Dörfler a76953d909 Renamed ModFlags() to ModifyFlags() and made it static (it's private anyway,
so this is no problem).
On second thought, I like "archive" better than "data" for the Archive message
name.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-20 15:01:04 +00:00
Axel Dörfler 50a4d43e91 Removed the private InitObject() method - it's not even exported in R5.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-19 17:46:37 +00:00
Axel Dörfler 5078b0fccc Removed BScrollView::InitObject(); it's not exported by libbe.so.
Now uses ModFlags() instead of direct code in the constructor.
Moved CalcFrame() and ModFlags() a bit more to the top.
Fixed initial scroll bar values (name and maximum value now match
the R5 implementation).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-19 17:44:45 +00:00
Axel Dörfler 1815b1b00d Fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-19 07:40:06 +00:00
Axel Dörfler 0a6895778a Fixed warning (reordered constructors).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-19 07:36:49 +00:00
Axel Dörfler 362c1dfc8a Fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-19 07:04:10 +00:00
Axel Dörfler 7a3ca20551 Fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-19 06:58:53 +00:00
Axel Dörfler 8afcf72a6a Added a small visual test for the BScrollView class: it will create a window
with all possible different scrollview combinations (horiz/vert/border/highlight).
The Jamfile will build two versions, ScrollViewTest and ScrollViewTest_r5;
the former compiles our ScrollView.cpp in, while the latter just uses the
one in libbe.so.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-19 06:33:57 +00:00
Axel Dörfler 8b35053e1a The scroll bars are now actually placed at the correct location.
The Draw() method now draws all supported borders, but no highlighting yet.
CalcFrame() now seems to work correctly.
Fixed warnings due to missing return codes from non-implemented methods.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-19 06:30:53 +00:00
Axel Dörfler 16fe6dd90f Added almost empty BScrollView implementation. It will actually create
the scroll bars, but it won't do much more yet; no border, no highlighting,
no ...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-19 03:31:13 +00:00
Axel Dörfler 26021c2c52 Fixed two bugs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-19 02:50:31 +00:00
Axel Dörfler dfa1093a41 Rewrote the BScrollView header from scratch.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-19 02:06:12 +00:00
Axel Dörfler d2adccea19 Rotate what? Added degree symbol.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-18 16:05:11 +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 075968bf03 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
2004-02-18 15:02:31 +00:00
Axel Dörfler 602992140d 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
2004-02-18 14:37:09 +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 f53ccd0b49 The target view of the scroll view must be moved to the origin (doesn't
matter in this context, though).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-18 11:56:10 +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 15fef5f790 Too bad the DataEditor did not report the correct size for devices... :)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-18 04:20:44 +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 e805d89711 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
2004-02-18 03:28:37 +00:00
Axel Dörfler f7efc8f447 The DataEditor class is now subclasses from BLocker instead of aggregating
it. This way, it can directly be used in the BAutolock class, and also provides
some more sophisticated locking functions.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-18 02:31:48 +00:00
Axel Dörfler 04d3a3dedf Now can also retrieve the size of a disk device.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6619 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-18 02:05:31 +00:00
Axel Dörfler 69cb3c1013 Moved the TimeSourceOp() call to the beginning of the TIMESOURCE_OP event
(as described by Marcus).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-17 16:41:07 +00:00
Axel Dörfler cd58ac9968 Minitiure optimizations for BString: eliminated a superfluous variable,
and removed the "newData" calculation, since "dataLen" already contained
the same value.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-17 04:06:44 +00:00
Axel Dörfler b70fa5139e We now dynamically add scroll bars to the parameter web view!
Some BeOS classes really are very stupid or just inferior:
- added DynamicScrollView class that adds and removes scroll bars as needed
  and automatically takes care of the correct scroller range and proportions.
- added TabView class that is smart enough to resize its container view
  and the tab views as well.

Both classes could be used in other environments, too. DynamicScrollView
would be a nice addition to BScrollView R2 - might be put into a shared
source directory for now (or into libbe's BPrivate namespace?).
The TabView additions could almost be moved to BTabView without breaking
compatibility, just the resizing mode of the tab views have to be respected.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6612 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-17 03:54:48 +00:00
Axel Dörfler 1ea4458dda Fixed two warnings, dunno why they slipped through the other time.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-15 18:58:41 +00:00
Axel Dörfler 81e08ae466 kernel_cpp.cpp needs direct access to headers/private/kernel/util in order
to not include our current stdio.h.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-15 18:08:15 +00:00
Axel Dörfler ea7627e5a8 I believe these must be defined for the kernel build. I have no idea
why they weren't yet - BTW this fixes the boot_loader build.
If anyone has a better idea about _KERNEL_MODE, please yell!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-15 18:07:11 +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 bf74bb653a Implemented the selection code.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-12 20:38:57 +00:00
Axel Dörfler 8b6c387e95 Fixed the wrong return type of ViewSize().
Reduced the number of state message types.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-12 20:33:46 +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 990e75bacf 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
2004-02-12 03:07:15 +00:00
Axel Dörfler f748e2d460 Extended watching mechanism (it now works more like the BHandler watching
mechanism) - it's not really used yet, though.
Fixed some variable initialization bugs and missing return values.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-12 03:00:56 +00:00
Axel Dörfler 632ef26708 The OpenWindow now accepts file drops (i.e. from Tracker) and automatically
opens these files.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-12 02:58:48 +00:00
Axel Dörfler bc2c92cd36 Removed no longer used code (was only there for testing purposes of the DataEditor).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-12 02:57:30 +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
Axel Dörfler 5d5bcda961 Now has a handy constant for the window cascade amount in pixel. Set that
one to 20 (instead of 15) which fits DiskProbe's value.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-02-10 12:05:21 +00:00