Commit Graph

6 Commits

Author SHA1 Message Date
Axel Dörfler
ea5c7202cb * If a window was hidden during resize/movement, it would still be in resizing
or moving mode when it was shown again. Added a test app HideAndShow which let
  you easily reproduce the faulty behaviour (with a previous version of the
  app_server, that is).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-05 10:32:30 +00:00
Axel Dörfler
0a3f410f30 * Added a Desktop::BroadcastToAllWindows() method that sends all ServerWindows
a message.
* The DesktopSettings class is now using that to send the new
  AS_SYSTEM_FONT_CHANGED message to all windows.
* The ServerWindow now propagates font changes to its decorator, causing it
  to update its drawing. That means changing the bold font in the "Fonts"
  preferences application will instantly change all window titles.
* Factored out a _RebuildAndRedrawAfterWindowChange() out of several Desktop
  methods, simplifying some code.
* The DefaultDecorator no longer calls _DoLayout() twice (through SetLook()),
  but instead calls the new _UpdateFont() method now also called by
  FontsChanged(), and SetLook().
* BWindow::GetDecoratorSettings() now also includes "tab frame" BRect with the
  exact footprint of the tab, allowing apps to know the size of the tab to
  position itself accordingly.
* Automatic white space cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-11-16 21:59:05 +00:00
Axel Dörfler
bd2509c549 * Desktop::_UpdateFloating() and Desktop::_UpdateSubsetWorkspaces() both
assumed that there was only a single window that was responsible for the
  workspaces of a floating/subset window. Of course, any number of windows
  can make up the workspaces of those. This fixes bug #2506.
* Added a Window::InSubsetWorkspace() method to complement SubsetWorkspaces().
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-10 14:17:23 +00:00
Stephan Aßmus
582b3d5a72 * When allocating a new Window, check the allocation of the DrawingEngine
instance by introducing Window::InitCheck(), use new (nothrow).
* Window is responsible for the DrawingEngine instance, but forgot to delete
  it.
* OffscreenWindow is no longer special, every Window owns a DrawingEngine,
  no need to delete it anymore, but since it already deletes the HWInterface
  instance, it needs to detach the DrawingEngine from it.
* Use new (nothrow) in OffscreenWindow as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 17:41:24 +00:00
Axel Dörfler
437b19277f * Removed severly outdated DebugInfoManager.
* More "layer" cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 15:28:31 +00:00
Axel Dörfler
953d895e02 * Got rid of the "Layer" part of WindowLayer, ViewLayer, WorkspacesLayer
(now WorkspacesView), OffscreenWindowLayer.
* Renamed ServerScreen.cpp/h to Screen.cpp/h (the class was already called
  Screen).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 12:45:54 +00:00