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