From a742d228c76206c511aa2f61d64bac85cced4a5a Mon Sep 17 00:00:00 2001 From: fluxgen Date: Fri, 18 Jan 2002 01:33:58 +0000 Subject: fixed indentation --- src/Window.hh | 420 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 211 insertions(+), 209 deletions(-) diff --git a/src/Window.hh b/src/Window.hh index 2c705d8..c4b6538 100644 --- a/src/Window.hh +++ b/src/Window.hh @@ -16,22 +16,22 @@ // // 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 +// 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. -// $Id: Window.hh,v 1.4 2002/01/11 10:40:59 fluxgen Exp $ +// $Id: Window.hh,v 1.5 2002/01/18 01:33:58 fluxgen Exp $ -#ifndef _WINDOW_HH_ -#define _WINDOW_HH_ +#ifndef _WINDOW_HH_ +#define _WINDOW_HH_ #include #include -#ifdef SHAPE -# include +#ifdef SHAPE +# include #endif // SHAPE // forward declaration @@ -52,154 +52,156 @@ class Tab; #include "Windowmenu.hh" #endif -#define MwmHintsFunctions (1l << 0) -#define MwmHintsDecorations (1l << 1) - -#define MwmFuncAll (1l << 0) -#define MwmFuncResize (1l << 1) -#define MwmFuncMove (1l << 2) -#define MwmFuncIconify (1l << 3) -#define MwmFuncMaximize (1l << 4) -#define MwmFuncClose (1l << 5) - -#define MwmDecorAll (1l << 0) -#define MwmDecorBorder (1l << 1) -#define MwmDecorHandle (1l << 2) -#define MwmDecorTitle (1l << 3) -#define MwmDecorMenu (1l << 4) -#define MwmDecorIconify (1l << 5) -#define MwmDecorMaximize (1l << 6) +#define MwmHintsFunctions (1l << 0) +#define MwmHintsDecorations (1l << 1) + +#define MwmFuncAll (1l << 0) +#define MwmFuncResize (1l << 1) +#define MwmFuncMove (1l << 2) +#define MwmFuncIconify (1l << 3) +#define MwmFuncMaximize (1l << 4) +#define MwmFuncClose (1l << 5) + +#define MwmDecorAll (1l << 0) +#define MwmDecorBorder (1l << 1) +#define MwmDecorHandle (1l << 2) +#define MwmDecorTitle (1l << 3) +#define MwmDecorMenu (1l << 4) +#define MwmDecorIconify (1l << 5) +#define MwmDecorMaximize (1l << 6) //names for buttons -#define NAME_STICKY "sticky" -#define NAME_MAXIMIZE "maximize" -#define NAME_MINIMIZE "minimize" -#define NAME_SHADE "shade" -#define NAME_CLOSE "close" -#define NAME_ICONIFY "iconify" -#define NAME_MENU "menu" -#define NAME_NONE "none" +#define NAME_STICKY "sticky" +#define NAME_MAXIMIZE "maximize" +#define NAME_MINIMIZE "minimize" +#define NAME_SHADE "shade" +#define NAME_CLOSE "close" +#define NAME_ICONIFY "iconify" +#define NAME_MENU "menu" +#define NAME_NONE "none" -#define PropMwmHintsElements 3 +#define PropMwmHintsElements 3 class FluxboxWindow : public TimeoutHandler { public: - FluxboxWindow(Window, BScreen * = (BScreen *) 0); - virtual ~FluxboxWindow(void); - - inline const bool isTransient(void) const - { return ((transient) ? true : false); } - inline const bool hasTransient(void) const - { return ((client.transient) ? true : false); } - inline const bool &isFocused(void) const { return focused; } - inline const bool &isVisible(void) const { return visible; } - inline const bool &isIconic(void) const { return iconic; } - inline const bool &isShaded(void) const { return shaded; } - inline const bool &isMaximized(void) const { return maximized; } - inline const bool &isIconifiable(void) const { return functions.iconify; } - inline const bool &isMaximizable(void) const { return functions.maximize; } - inline const bool &isResizable(void) const { return functions.resize; } - inline const bool &isClosable(void) const { return functions.close; } - inline const bool &isStuck(void) const { return stuck; } - inline const bool &hasTitlebar(void) const { return decorations.titlebar; } - inline const bool hasTab(void) const { return (tab!=0 ? true : false); } + enum Error{NOERROR=0, XGETWINDOWATTRIB, CANTFINDSCREEN}; - inline BScreen *getScreen(void) { return screen; } + FluxboxWindow(Window, BScreen * = (BScreen *) 0); + virtual ~FluxboxWindow(void); + + inline const bool isTransient(void) const + { return ((transient) ? true : false); } + inline const bool hasTransient(void) const + { return ((client.transient) ? true : false); } + inline const bool &isFocused(void) const { return focused; } + inline const bool &isVisible(void) const { return visible; } + inline const bool &isIconic(void) const { return iconic; } + inline const bool &isShaded(void) const { return shaded; } + inline const bool &isMaximized(void) const { return maximized; } + inline const bool &isIconifiable(void) const { return functions.iconify; } + inline const bool &isMaximizable(void) const { return functions.maximize; } + inline const bool &isResizable(void) const { return functions.resize; } + inline const bool &isClosable(void) const { return functions.close; } + inline const bool &isStuck(void) const { return stuck; } + inline const bool &hasTitlebar(void) const { return decorations.titlebar; } + inline const bool hasTab(void) const { return (tab!=0 ? true : false); } + static void showError(FluxboxWindow::Error error); + inline BScreen *getScreen(void) { return screen; } inline Tab *getTab(void) { return tab; } - inline FluxboxWindow *getTransient(void) { return client.transient; } - inline FluxboxWindow *getTransientFor(void) { return client.transient_for; } - - inline const Window &getFrameWindow(void) const { return frame.window; } - inline const Window &getClientWindow(void) const { return client.window; } - - inline Windowmenu *getWindowmenu(void) { return windowmenu; } - - inline char **getTitle(void) { return &client.title; } - inline char **getIconTitle(void) { return &client.icon_title; } - inline const int &getXFrame(void) const { return frame.x; } - inline const int &getYFrame(void) const { return frame.y; } - inline const int &getXClient(void) const { return client.x; } - inline const int &getYClient(void) const { return client.y; } - inline const int &getWorkspaceNumber(void) const { return workspace_number; } - inline const int &getWindowNumber(void) const { return window_number; } - - inline const unsigned int &getWidth(void) const { return frame.width; } - inline const unsigned int &getHeight(void) const { return frame.height; } - inline const unsigned int &getClientHeight(void) const - { return client.height; } - inline const unsigned int &getClientWidth(void) const - { return client.width; } - inline const unsigned int &getTitleHeight(void) const - { return frame.title_h; } - - inline void setWindowNumber(int n) { window_number = n; } - - bool validateClient(void); - bool setInputFocus(void); + inline FluxboxWindow *getTransient(void) { return client.transient; } + inline FluxboxWindow *getTransientFor(void) { return client.transient_for; } + + inline const Window &getFrameWindow(void) const { return frame.window; } + inline const Window &getClientWindow(void) const { return client.window; } + + inline Windowmenu *getWindowmenu(void) { return windowmenu; } + + inline char **getTitle(void) { return &client.title; } + inline char **getIconTitle(void) { return &client.icon_title; } + inline const int &getXFrame(void) const { return frame.x; } + inline const int &getYFrame(void) const { return frame.y; } + inline const int &getXClient(void) const { return client.x; } + inline const int &getYClient(void) const { return client.y; } + inline const int &getWorkspaceNumber(void) const { return workspace_number; } + inline const int &getWindowNumber(void) const { return window_number; } + + inline const unsigned int &getWidth(void) const { return frame.width; } + inline const unsigned int &getHeight(void) const { return frame.height; } + inline const unsigned int &getClientHeight(void) const + { return client.height; } + inline const unsigned int &getClientWidth(void) const + { return client.width; } + inline const unsigned int &getTitleHeight(void) const + { return frame.title_h; } + + inline void setWindowNumber(int n) { window_number = n; } + + bool validateClient(void); + bool setInputFocus(void); void setTab(bool flag); - void setFocusFlag(bool); - void iconify(void); - void deiconify(bool = true, bool = true); - void close(void); - void withdraw(void); - void maximize(unsigned int); - void shade(void); - void stick(void); - void unstick(void); - void reconfigure(void); - void installColormap(bool); - void restore(void); - void configure(int dx, int dy, unsigned int dw, unsigned int dh); - void setWorkspace(int n); - void changeBlackboxHints(BaseDisplay::BlackboxHints *); - void restoreAttributes(void); - - void buttonPressEvent(XButtonEvent *); - void buttonReleaseEvent(XButtonEvent *); - void motionNotifyEvent(XMotionEvent *); - void destroyNotifyEvent(XDestroyWindowEvent *); - void mapRequestEvent(XMapRequestEvent *); - void mapNotifyEvent(XMapEvent *); - void unmapNotifyEvent(XUnmapEvent *); - void propertyNotifyEvent(Atom); - void exposeEvent(XExposeEvent *); - void configureRequestEvent(XConfigureRequestEvent *); - -#ifdef SHAPE - void shapeEvent(XShapeEvent *); + void setFocusFlag(bool); + void iconify(void); + void deiconify(bool = true, bool = true); + void close(void); + void withdraw(void); + void maximize(unsigned int); + void shade(void); + void stick(void); + void unstick(void); + void reconfigure(void); + void installColormap(bool); + void restore(void); + void configure(int dx, int dy, unsigned int dw, unsigned int dh); + void setWorkspace(int n); + void changeBlackboxHints(BaseDisplay::BlackboxHints *); + void restoreAttributes(void); + + void buttonPressEvent(XButtonEvent *); + void buttonReleaseEvent(XButtonEvent *); + void motionNotifyEvent(XMotionEvent *); + void destroyNotifyEvent(XDestroyWindowEvent *); + void mapRequestEvent(XMapRequestEvent *); + void mapNotifyEvent(XMapEvent *); + void unmapNotifyEvent(XUnmapEvent *); + void propertyNotifyEvent(Atom); + void exposeEvent(XExposeEvent *); + void configureRequestEvent(XConfigureRequestEvent *); + +#ifdef SHAPE + void shapeEvent(XShapeEvent *); #endif // SHAPE - virtual void timeout(void); + virtual void timeout(void); // this structure only contains 3 elements... the Motif 2.0 structure contains // 5... we only need the first 3... so that is all we will define typedef struct MwmHints { - unsigned long flags, functions, decorations; + unsigned long flags, functions, decorations; } MwmHints; private: - BImageControl *image_ctrl; + BImageControl *image_ctrl; - bool moving, resizing, shaded, maximized, visible, iconic, transient, - focused, stuck, modal, send_focus_message, managed; - BScreen *screen; - BTimer *timer; - Display *display; - BaseDisplay::BlackboxAttributes blackbox_attrib; - - Time lastButtonPressTime; - Windowmenu *windowmenu; - - int focus_mode, window_number, workspace_number; - unsigned long current_state; - - struct _client { - FluxboxWindow *transient_for, // which window are we a transient for? - *transient; // which window is our transient? - Window window, window_group; - - char *title, *icon_title; - int x, y, old_bw, title_len; + bool moving, resizing, shaded, maximized, visible, iconic, transient, + focused, stuck, modal, send_focus_message, managed; + BScreen *screen; + BTimer *timer; + Display *display; + BaseDisplay::BlackboxAttributes blackbox_attrib; + + Time lastButtonPressTime; + Windowmenu *windowmenu; + + int focus_mode, window_number, workspace_number; + unsigned long current_state; + + struct _client { + FluxboxWindow *transient_for, // which window are we a transient for? + *transient; // which window is our transient? + Window window, window_group; + + char *title, *icon_title; + int x, y, old_bw, title_len; unsigned int width, height, title_text_w, min_width, min_height, max_width, max_height, width_inc, height_inc, min_aspect_x, min_aspect_y, max_aspect_x, max_aspect_y, @@ -218,7 +220,7 @@ private: struct _functions { bool resize, move, iconify, maximize, close; } functions; - + bool usetab; Tab *tab; friend class Tab; @@ -226,92 +228,92 @@ private: typedef void (*ButtonDrawProc)(FluxboxWindow *, Window, bool); typedef void (*ButtonEventProc)(FluxboxWindow *, XButtonEvent *); - struct Button { - int type; - Window win; - bool used; - ButtonEventProc pressed; - ButtonEventProc released; - ButtonDrawProc draw; - }; + struct Button { + int type; + Window win; + bool used; + ButtonEventProc pressed; + ButtonEventProc released; + ButtonDrawProc draw; + }; - std::vector