Commit Graph
100 Commits
Author SHA1 Message Date
Stefano Ceccherini d7b25be846 cleaned up a bit thread creation and deletion
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-31 12:53:16 +00:00
Stefano Ceccherini cfc9ef8ac3 Implemented B_ABOUT_REQUESTED in TermView, for the replicant version.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21752 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-30 15:22:37 +00:00
Stefano Ceccherini 67188b4ca2 More or less reverted TermView::KeyDown() to r21695. Fixes bug #1340.
Thanks to Ingo & Korli for the help.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-30 15:05:04 +00:00
Stefano Ceccherini 60be800755 Added a wrapper method to instantiate_object(), where we catch any
possible exception thrown from the constructor called by the function 
itself, for safety. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-30 14:21:41 +00:00
Stefano Ceccherini 685271a77a Better error messages
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-30 12:56:22 +00:00
Stefano Ceccherini 9821c5c4e1 on MouseDown(), TermView becomes the focus view (like BTextView does).
Now input works also with a replicanted Terminal, although I have to 
click on it twice(!?!?). Don't call exit_thread() anymore in 
TermParse::PtyReader(). Hope this is correct. (feel free to beat me on 
this).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-30 12:19:20 +00:00
Stefano Ceccherini 2240e7df9b Add the add_on field in TermView::Archive(). This way instantiating a
replicant works (thank you Marc). Return errno instead of the return 
value of read() (thank you Jerome).
Terminal now can be instantiated as a replicant, although input doesn't 
work :((.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-30 11:48:35 +00:00
Stefano Ceccherini 948b80756a Initialize the string, so we don't get garbage in case of problems in
getting the name.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-30 10:26:24 +00:00
Stefano Ceccherini ba40a9b6a7 Added a TermView::NotifyQuit() method, used in TermParse, so it doesn't
mess with be_app anymore. Renamed TermView private methods to have an 
underscore prefix.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-30 09:59:17 +00:00
Stefano Ceccherini 53763c54d1 Don't use exceptions in TermView constructor, as it would cause problems
with instantiation. Note that if an error occurs in the constructor, 
we're pretty much screwed. Made some TermView functions private. Some 
small cleanup, and some WIP code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-30 08:59:12 +00:00
Stefano Ceccherini 69adf535c1 TermView and the classes used by it now don't know about PrefHandler
anymore, but have methods to set the needed options. Various cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-28 14:49:39 +00:00
Stefano Ceccherini a77bd4200b Implemented Archive() and unarchiving constructor. TermView won't work
as a replicant, though, until I remove the preference code from it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-27 21:56:47 +00:00
Stefano Ceccherini cd2b8867e1 Removed weird code in TermWindow::WindowActivated. Added basic
Archive(), Instantiate(), and unarchiving constructor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-27 21:43:24 +00:00
Stefano Ceccherini 258e949475 More work towards a tabbed terminal. Actually it already somewhat works
(code not enabled, though). Moved scripting from TermWindow to 
TermView. Added a SmartTabView which (for now) only resizes the 
child views to fit their size. Usual cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-27 21:23:32 +00:00
Stefano Ceccherini 17dfb8b1cb More headers cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-26 15:22:21 +00:00
Stefano Ceccherini b10dd441dd Fixed warnings, rearranged some headers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-26 15:07:16 +00:00
Stefano Ceccherini feaebcb571 Encoding is now a property of TermView. Changed a lot of code to fix the
problems caused by this change. MakeEncodingMenu doesn't mark the 
current encoding anymore, it was already done in TermWindow::MenusBeginning().
Removed custom enums for encodings, just use the ones provided in UTF8.h.
I'm more and more convinced we should drop the custom conversion routines
and use the system ones.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-26 14:52:24 +00:00
Stefano Ceccherini f14a8c5801 Removed more unused stuff. Cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-25 11:31:17 +00:00
Stefano Ceccherini d75fc05829 Had switched rows and columns in SetTermSize() call inside TermView's
constructor. Made UpdateSIGWINCH() private and renamed it to 
_UpdateSIGWINCH().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-25 10:16:18 +00:00
Stefano Ceccherini 702e4be807 Moved all TermView initializing code into TermView itself. Before you
couldn't just rely on its constructor to fully initialize the object, 
since the code was scattered around, mostly into TermWindow. Added a 
commented out TermWindow constructor which only creates and adds a 
TermView object to the view hierarchy, which now works.
Removed weird TermWindowActivate method, use WindowActivated 
instead. TermApp can now keep a pointer to a BWindow instead of 
TermWindow, since it doesn't do anything special with it. 
TermView::SetTermFont() now can filter the font attributes (it uses 
B_FIXED_SPACING, I'm not sure it's needed but it doesn't hurt). Usual 
cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-25 09:50:34 +00:00
Stefano Ceccherini abc4720231 Moved cursor blinking functionality from TermParse into TermView (and
from a BMessageRunner into Pulse()). Removed more unused stuff. 
Moved around some constants and definitions. Many style changes. Sorry, 
I know the two should be separated, but I had already done so many changes...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21695 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-24 12:18:24 +00:00
Stefano Ceccherini 6fbf283fb5 Fixed a bug where Terminal couldn't set itself to fullscreen the first
time. Some minor cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 13:26:17 +00:00
Stefano Ceccherini ac3a8f5446 Made all CodeConv methods static, since there was no point for them to
be nonstatic. Moved TermParse under Shell, Removed some parameters 
passing around from TermWindow/TermView/TermParse. Now TermParse threads are 
started when the shell is attached to a TermView. Might still be 
improved.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-21 20:50:06 +00:00
Stefano Ceccherini 0ed5650b01 Got rid of TermBaseView
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-21 19:56:55 +00:00
Stefano Ceccherini 90c6c3e8a4 Sorry, the previous commit also contained broken WIP stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-21 19:22:53 +00:00
Stefano Ceccherini 0d32d905e9 Minor cleanup, Updated some copyrights
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-21 19:11:41 +00:00
Stefano Ceccherini e68a9aeca5 return errno when open() fails
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 11:46:47 +00:00
Stefano Ceccherini 892bf0d5fd fixed a warning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 09:50:06 +00:00
Stefano Ceccherini 894e5a26d3 Renamed a variable to fit our guidelines. Removed typedef
from UTF8WidthTbl.c. Use typedef from SupportDefs.h instead


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 09:42:34 +00:00
Stefano Ceccherini 12999e13de Removed unused files
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 09:19:02 +00:00
Stefano Ceccherini dc25fe8173 Got rid of gTermPref by adding some static methods to PrefHandler.
The font size menu wasn't up to date with the current settings. Fixed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 09:14:44 +00:00
Stefano Ceccherini 37b209af04 Renamed spawn.cpp/h to Shell.cpp/h and updated the other source files to
take this change into account


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 08:04:36 +00:00
Stefano Ceccherini f3d05c8b3a Encapsulated low level terminal stuff into a Shell class, which also
supersedes spawn_shell(). Removed window parameter from TermParse. Since 
we already have a pointer to the view, we just call Window() on it (only 
used in one place, no need to save a pointer). Other cleanups. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 07:58:37 +00:00
Stefano Ceccherini 2b0f12f79e Moved spawning the shell from TermApp to TermWindow
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-13 11:27:59 +00:00
Stefano Ceccherini 85f69514f4 More style changes, replaced sprintf use with snprintf. Removed unused
variables and code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-13 10:38:58 +00:00
Stefano Ceccherini 58acd5acb8 added default clause to the switch statement. This fixes a memory corruption bug in case the caller supplied an invalid value. Now we use B_TRUNCATE_MIDDLE in that case. Found by Andrea Anzani
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 09:01:54 +00:00
Stefano Ceccherini 99584ef9a2 Added _Show/_HideCaret() and used them in place of more bug-prone code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-04 20:20:09 +00:00
Stefano Ceccherini 4ec75bbee6 Big refactoring. Got rid of some global variables by putting code in
global functions (at least for now), removed useless globals, restyled 
the code. Not yet done.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-04 20:11:17 +00:00
Stefano Ceccherini e1628af583 more style cleanups, removed unused global
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-02 20:37:45 +00:00
Stefano Ceccherini 1bf81a0b8d Moved gTermPref to TermApp.cpp. Moved deleting of gTermPref to the
TermApp destructor, so it's symmetric to its creation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-02 20:13:40 +00:00
Stefano Ceccherini e0ba8e50cc Got rid of the drawing thread, drawing is faster using the "correct"
approach. There are still some leftovers, will be taken care in the next 
commits (not today though)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-29 11:48:40 +00:00
Stefano Ceccherini d342dd3f50 a small step towards removing (duplicate) selection logic from
TermBuffer. Enabled invalidating in TextView instead of weird redrawing. 
Seems much faster.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-29 11:18:41 +00:00
Stefano Ceccherini 6b5ac907c4 Made TermBuffer fit a bit better into our coding style. Removed some
useless stuff. Not yet finished.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-29 10:43:17 +00:00
Stefano Ceccherini 645b01f225 Got rid of fSelected, no need to maintain a separate variable to check
if we have a selection. Now there's a "HasSelection()" method which just 
checks if fSelStart and fSelEnd are different. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-28 12:58:03 +00:00
Stefano Ceccherini c57ff65839 Avoid scrolling vertically if scrolling area is outside the text rect. Pin parameters in Select() before doing other checks on them (reported by Marc Flerackers)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-27 10:43:48 +00:00
Stefano Ceccherini cf76d671df I *think* I've fixed the problem of menu fields not being opened when
the user clicks on the part which has been resized...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 20:47:19 +00:00
Stefano Ceccherini 80d75f15df Fixed problems with try/catch, hopefully. Thanks Axel for pointing them
out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 20:25:08 +00:00
Stefano Ceccherini ffcd67bc82 moved duplicate code to a common location.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 14:30:56 +00:00
Stefano Ceccherini 7f0898e76f bye bye ClientFontList.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 13:45:33 +00:00
Stefano Ceccherini ac2284ed8b Moved ZombieReplicantView.h to src/kits/interface
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 13:38:14 +00:00
Stefano Ceccherini 7c42f05d49 moved kZombieColor to ZombieReplicantView.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 13:37:42 +00:00
Stefano Ceccherini fab61b6237 Moved TextInput.h to src/kits/interface as it's only used there.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 13:31:46 +00:00
Stefano Ceccherini a24a5156f9 splitted SetActiveState() into 2 methods, since it was very messy
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 13:15:58 +00:00
Stefano Ceccherini 99851ad6db free() the modelist as it's allocated using malloc. A forgotten printf -> fprintf. minor other stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 12:44:58 +00:00
Stefano Ceccherini d53469036b CanControlFrameBuffer() returns false with the vmware driver, but
ParticlesII doesn't need to do special things with it


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 12:36:30 +00:00
Stefano Ceccherini 6a45488dd9 Used exceptions to handle errors on InitData(). I hope I didn't made
stupid errors, since I don't use exceptions usually. Feel free to beat 
me on this. Moved uninitialization to _DisposeData(). Corrected some 
styling issues pointed out by axel. Used fprintf instead of printf.
Turned off debugging.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 09:53:36 +00:00
Stefano Ceccherini fd651c0701 Particles II, which uses BWindowScreen
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-14 14:43:45 +00:00
Stefano Ceccherini 8b7987023f Implemented needed methods to be able to clone the accelerant.
Implemented SetIndexedColors hook, although not really correct.
I don't know why the driver's 8 bit mode were disabled. They seem to 
work fine. I had to enable at least 640x480x8 to be able to test 
WindowScreen. There are some TODOs in the code. I'll look into them 
later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-14 14:41:45 +00:00
Stefano Ceccherini f09ba8ea46 Call get_clone_info and get_clone_info_size instead of using the
driver's path. More correct. Now we could remove the app_server's 
command to retrieve the driver's path.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21408 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-14 10:25:14 +00:00
Stefano Ceccherini cca1217c5b fixed the colors of the shift modifier bitmap to be consistent with the others. Actually, though, I'm not sure which one is better
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-12 14:47:33 +00:00
Stefano Ceccherini 20e85f1c09 Use BBitmap::ImportBits() to get rid of the padded bitmaps
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-12 14:35:36 +00:00
Stefano Ceccherini af03527240 Changed the loop to compute the column layout: Now the space for
modifiers is added after we've calculated the maximum width. This way we 
don't get overlapping between the menu content and the modifiers bitmaps 
themselves. TBR.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21396 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-12 13:16:39 +00:00
Stefano Ceccherini 37ddfd14ab Shortcut characters are aligned even if there's a submenu, like
discussed in the thread in haiku-development. I added a fSubmenus member 
to BMenu, to be able to tell from BMenuItem if there are other items 
with a submenu (maintained in BMenuItem::SetSuper()). If you don't like 
this solution, let's just revert.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21395 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-12 12:28:06 +00:00
Stefano Ceccherini fbe2f227ca Some work on menu layouts:
- Menus are generally a bit wider (BeIDE ones didn't look nice)
- The modifiers bitmap are drawn more centered vertically
- Splitted BMenu::ComputeLayout() into three methods
- Various minor changes.
The menuitems still don't look nice with bigger font sizes, but we'll 
try to fix this...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-12 09:10:08 +00:00
Stefano Ceccherini d9be8bc0fe Got rid of a global, hope no one minds
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-08 09:44:13 +00:00
Stefano Ceccherini 77974ff171 some forgotten fVariable -> sVariable renaming
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-06 13:20:50 +00:00
Stefano Ceccherini 2f03d0e0ed Changed the loops in BHandler::_SendNotices() and ::_ValidateHandlers().
See also r20183.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-05 13:15:45 +00:00
Stefano Ceccherini bfab6b7394 Added some code to fix bug #953. If the mouse moves a bit while the
buttons are down, the popup menu won't become sticky.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-05 13:05:14 +00:00
Stefano Ceccherini 059ca4bd97 Some other changes, make sure we delete all resources on destruction
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-05 12:10:44 +00:00
Stefano Ceccherini cf5948ae6c BMenuFrame overlapped partially with a BMenuScroller. This fixes the
spurious lines drawn over the menu. Thanks to Stephan for making me 
notice this!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-05 11:50:15 +00:00
Stefano Ceccherini 3616859a05 Changed the interaction between BMenuFrame, BMenuScroller and
BMenuWindow. BMenuScroller now is just the scroller button, and it's a 
child of BMenuWindow. This simplifies attaching/detaching the 
scrollers, and it's also a bit cleaner. 
The lower scroller wasn't shown anymore for some reason, and this commit also fixes this problem.
A drawing bug shows up now, though: when scrolling the menu UP, some 
spurious lines are drawn over the menu. I wonder if this is an 
app_server bug or what.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-05 10:20:06 +00:00
Stefano Ceccherini 189360b5d8 Initialize all variables in the constructor
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-04 14:09:16 +00:00
Stefano Ceccherini 1c86f4892b Renamed a couple of variables, for easier reading...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-04 12:20:58 +00:00
Stefano Ceccherini 1a2a0e07c6 Check scrolling against text rect limits. Fixes bug 1240 (and maybe 1241
too)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-22 14:13:08 +00:00
Stefano Ceccherini 8184808c5f 'Sounds' is now font sensitive. Patch by Lucasz Zemczak.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21185 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-21 07:22:17 +00:00
Stefano Ceccherini 84c2abee94 Cast errors to status_t before throwing, otherwise the catch operator
won't catch them (as ints). Thanks to Ingo and Marcus for pointing out 
the problem and suggesting a solution.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-13 20:26:31 +00:00
Stefano Ceccherini 140334f858 Added error checking using exceptions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-12 08:46:56 +00:00
Stefano Ceccherini 522528180e Check if we have a window before drawing the item in
BListView::_Deselect()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 20:40:48 +00:00
Stefano Ceccherini 0d478eeb6f Avoid sending an extra (useless) B_DIRECT_MODIFY notification to the
client, when the connection is stopped. But cache the "reason" of the 
notification, and join it with the next one, when B_DIRECT_START is 
notified. Experimental, could be reverted. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 21:26:33 +00:00
Stefano Ceccherini ca3e59106d call lock/unlock_draw() in SwapBuffers too. Don't set the view color to
B_TRANSPARENT_32_BIT because it doesn't look good in direct mode. Korli, 
please review.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 21:21:28 +00:00
Stefano Ceccherini 652f187eee finally fixed debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 20:49:58 +00:00
Stefano Ceccherini 1560418a27 forgot the \n
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 20:41:39 +00:00
Stefano Ceccherini 5115ca0858 Added optional debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 20:03:31 +00:00
Stefano Ceccherini e6bf88d435 use the already available BLocker instead of atomic_add and a semaphore
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 20:52:30 +00:00
Stefano Ceccherini def763251b cleanups, updated copyrights
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 20:05:47 +00:00
Stefano Ceccherini 4bfa8f22df completes previous commit. Sorry for breaking the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 16:34:31 +00:00
Stefano Ceccherini 107ce0bba0 Fixed a bug in selection via keyboard (the problem described in bug
#716, comment #4)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 15:15:23 +00:00
Stefano Ceccherini ff32e5158c ServerPicture now uses a BPositionIO object as internal storage instead
of BMallocIO. Added an additional constructor to handle a file. This is 
in preparation of implementing BView::SetDiskMode().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 14:52:13 +00:00
Stefano Ceccherini f96bec013d small cleanups. Moved some code into a _DrawLine() method.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 19:49:43 +00:00
Stefano Ceccherini 0d4fbcc8fe made _BInlineInput_::AddClause() more robust in low memory conditions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 20:35:36 +00:00
Stefano Ceccherini effcdf2e6a Implemented locking for BGLView direct mode. Tested with GLTeapot and
GLDirectTest. Seems to work fine


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-26 20:23:10 +00:00
Stefano Ceccherini 5240f11543 Removed unused methods and variables, small style cleanups
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-26 19:51:09 +00:00
Stefano Ceccherini 8860ba90e6 If there's a opened menu, the window should "eat" the B_MOUSE_DOWN
message. This fixes bug #582 and now menus behave like on beos (or 
should, at least)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-24 21:00:20 +00:00
Stefano Ceccherini a1c0361478 Use LineHeight() instead of StyledWidthUTF8Safe() to get the height of
the line in PointAt(), since the former didn't return the correct 
result, due to the fact that there were 0 charachters on that line. 
Fixed a bug in TextHeight() which ended up doubling the 
height of the line if we requested the last line.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-18 09:33:32 +00:00
Stefano Ceccherini 2e2e58a452 The Mouse window is now centered if it's too close to the border of the
screen when shown (on start). Usually it was put in the top left corner 
on the screen when you first start it (very annoying).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-18 07:34:49 +00:00
Stefano Ceccherini 19ebf74dc6 Call RemoveToken() in the destructor
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-17 10:05:56 +00:00
Stefano Ceccherini 6dfe2237e6 Calling LockGL() before BGLView::AttachedToWindow() isn't allowed, it
seems, as it leads to a crash. The GLDirectMode test app now works.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-16 12:43:38 +00:00
Stefano Ceccherini 7e99a484fb Renamed *Dlg classes to *Window, completing my previous commit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-13 16:41:44 +00:00
Stefano Ceccherini f8cc2a74e4 Renamed *Dlg to *Window, since the term "Dialog" is alien to the beos
api. Thanks to Vasilis Kaoutsis for the suggestion. I'll rename the 
classes with the next commit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-13 16:35:50 +00:00
Stefano Ceccherini 22cf4a3be6 sizeof(B_PAGE_SIZE) != B_PAGE_SIZE. Fixed bug 1151. Sorry for the silly
typo. Also uses calloc() so that the direct_buffer_info struct is 
initialized to 0.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-12 13:15:06 +00:00