diff options
| author | Dana Jansens <danakj@orodu.net> | 2002-05-25 00:29:44 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2002-05-25 00:29:44 +0000 |
| commit | 8794d357e67abddf9fda9db77b235e294d0ec590 (patch) | |
| tree | 97e618433ff557b2b2d0842498d8464d4fba8717 /src/Slit.h | |
| parent | e640ee15ad19f24e0ad8351933fea5bafe98d380 (diff) | |
import from bb-cvs
added slit and enable-clobber defines back in Makefile.am
Diffstat (limited to 'src/Slit.h')
| -rw-r--r-- | src/Slit.h | 175 |
1 files changed, 0 insertions, 175 deletions
diff --git a/src/Slit.h b/src/Slit.h deleted file mode 100644 index b07d9c6c..00000000 --- a/src/Slit.h +++ /dev/null @@ -1,175 +0,0 @@ -// Slit.h for Openbox -// Copyright (c) 2001 Sean 'Shaleh' Perry <shaleh@debian.org> -// Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net) -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef __Slit_hh -#define __Slit_hh - -#include <X11/Xlib.h> -#include <X11/Xutil.h> - -#include "Basemenu.h" -#include "Geometry.h" -#include <list> - -// forward declaration -class Slit; -class Slitmenu; - -class Slitmenu : public Basemenu { -private: - class Directionmenu : public Basemenu { - private: - Slitmenu &slitmenu; - - protected: - virtual void itemSelected(int, int); - virtual void setValues(); - - public: - Directionmenu(Slitmenu &); - void reconfigure(); - }; - - class Placementmenu : public Basemenu { - private: - Slitmenu &slitmenu; - - protected: - virtual void itemSelected(int, int); - - public: - Placementmenu(Slitmenu &); - }; - - Directionmenu *directionmenu; - Placementmenu *placementmenu; - - Slit &slit; - - friend class Directionmenu; - friend class Placementmenu; - friend class Slit; - - -protected: - virtual void itemSelected(int, int); - virtual void internal_hide(); - virtual void setValues(); - -public: - Slitmenu(Slit &); - virtual ~Slitmenu(); - - inline Basemenu *getDirectionmenu() { return directionmenu; } - inline Basemenu *getPlacementmenu() { return placementmenu; } - - void reconfigure(); -}; - - -class Slit : public TimeoutHandler { -private: - class SlitClient { - public: - Window window, client_window, icon_window; - - int x, y; - unsigned int width, height; - }; - - bool m_ontop, m_autohide, m_hidden; - int m_direction, m_placement; - Display *display; - - Openbox &openbox; - BScreen &screen; - Resource &config; - BTimer *timer; - - typedef std::list<SlitClient *> slitClientList; - slitClientList clientList; - Slitmenu *slitmenu; - - struct frame { - Pixmap pixmap; - Window window; - - Rect area; - Point hidden; - } frame; - - - friend class Slitmenu; - friend class Slitmenu::Directionmenu; - friend class Slitmenu::Placementmenu; - - -public: - Slit(BScreen &, Resource &); - virtual ~Slit(); - - inline Slitmenu *getMenu() { return slitmenu; } - - inline const Window &getWindowID() const { return frame.window; } - - inline const Point &origin() const { return frame.area.origin(); } - inline const Size &size() const { return frame.area.size(); } - inline const Rect &area() const { return frame.area; } - inline const Point &hiddenOrigin() const { return frame.hidden; } - - void addClient(Window); - void removeClient(SlitClient *, Bool = True); - void removeClient(Window, Bool = True); - void reconfigure(); - void load(); - void save(); - void reposition(); - void shutdown(); - - void buttonPressEvent(XButtonEvent *); - void enterNotifyEvent(XCrossingEvent *); - void leaveNotifyEvent(XCrossingEvent *); - void configureRequestEvent(XConfigureRequestEvent *); - - virtual void timeout(); - - inline bool isHidden() const { return m_hidden; } - - inline bool onTop() const { return m_ontop; } - void setOnTop(bool); - - inline bool autoHide() const { return m_autohide; } - void setAutoHide(bool); - - inline int placement() const { return m_placement; } - void setPlacement(int); - - inline int direction() const { return m_direction; } - void setDirection(int); - - enum { Vertical = 1, Horizontal }; - enum { TopLeft = 1, CenterLeft, BottomLeft, TopCenter, BottomCenter, - TopRight, CenterRight, BottomRight }; -}; - - -#endif // __Slit_hh |
