diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-11-07 21:50:31 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-11-07 21:50:31 -0600 |
commit | e35f3fe53cd8df85d4fd04e49dfffbaeac971cdf (patch) | |
tree | 95836fc22de909b3b20dbf3fc3dea230e5e58e3b /kwin-styles/icewm/icewm.h | |
parent | a5355f151396be579eba5838c7d8d93a43362cd7 (diff) | |
download | tdeartwork-e35f3fe53cd8df85d4fd04e49dfffbaeac971cdf.tar.gz tdeartwork-e35f3fe53cd8df85d4fd04e49dfffbaeac971cdf.zip |
Rename kwin to twin (Part 2 of 2)
Diffstat (limited to 'kwin-styles/icewm/icewm.h')
-rw-r--r-- | kwin-styles/icewm/icewm.h | 193 |
1 files changed, 0 insertions, 193 deletions
diff --git a/kwin-styles/icewm/icewm.h b/kwin-styles/icewm/icewm.h deleted file mode 100644 index f343912c..00000000 --- a/kwin-styles/icewm/icewm.h +++ /dev/null @@ -1,193 +0,0 @@ -/* - $Id$ - - Gallium-IceWM themeable KWin client - - Copyright 2001 - Karol Szwed <gallium@kde.org> - http://gallium.n3.net/ - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; see the file COPYING. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. - - ----------------------------------------------------------------------------- - This client loads most icewm 1.0.X pixmap themes, without taking into account - specific font settings for clients, or coloured mouse cursors. Titlebar - fonts can be changed via the kde control center. Bi-colour mouse cursors - may be added in future if requested by users, as well as theme font support. - Any styles using inbuilt icewm titlebar drawing without using pixmaps (e.g. - Warp4, win95 etc.) are not fully supported, and may cause drawing errors, - as these themes use in-built icewm drawing mechanisms. - - When a pixmap theme is not present (or a corrupt one is present) then very - plain title decorations are painted instead, so that users don't see - non-painted window areas where possible ;) - - At a later date, frame shaping may be added if really requested, and an - update to support the latest icewm 1.1.X theme format may be made. -*/ - -#ifndef __KDEGALLIUM_ICEWM_H -#define __KDEGALLIUM_ICEWM_H - -#include <tqbutton.h> -#include <tqlayout.h> -#include <kpixmap.h> -#include <kdecoration.h> -#include <kdecorationfactory.h> -#include <tqbutton.h> -class TQLabel; -class TQSpacerItem; -class TQBoxLayout; -class TQGridLayout; - -namespace IceWM { - -class IceWMClient; - -// Pixmap group -enum { InActive=0, Active }; -// Pixmap stretching mode -enum { Vertical=0, Horizontal=1 }; - - -// Handles the resetClients() signal from the Options class, -// and manages the dynamic pixmaps, configuration and theme changing -class ThemeHandler: public KDecorationFactory -{ - public: - ThemeHandler(); - ~ThemeHandler(); - - virtual KDecoration* createDecoration( KDecorationBridge* ); - virtual bool reset( unsigned long changed ); - virtual bool supports( Ability ability ); - - private: - bool initialized; - TQString themeName; - - void readConfig(); - TQColor decodeColor( TQString& s ); - bool isFrameValid(); - void initTheme(); - void freePixmaps(); - void freePixmapGroup( TQPixmap* p[] ); - void setPixmap( TQPixmap* p[], TQString s1, TQString s2, bool - stretch=false, bool stretchHoriz=true ); - void setPixmapButton( TQPixmap* p[], TQString s1, TQString s2); - TQPixmap* stretchPixmap( TQPixmap* src, bool stretchHoriz=true, - int stretchSize=-1); - TQPixmap* duplicateValidPixmap( bool act, int size = -1 ); - void convertButtons( TQString& s ); - TQString reverseString( TQString s ); -}; - - -class IceWMButton : public TQButton -{ - public: - IceWMButton( IceWMClient *parent=0, const char *name=0, - TQPixmap* (*p)[2]=0L, bool isToggle=false, - const TQString& tip=NULL, const int realizeBtns = Qt::LeftButton ); - void setTipText(const TQString &tip); - void usePixmap( TQPixmap* (*p)[2] ); - TQSize tqsizeHint() const; - void turnOn( bool isOn ); - ButtonState last_button; - - protected: - void mousePressEvent( TQMouseEvent* e ); - void mouseReleaseEvent( TQMouseEvent* e ); - - void drawButton( TQPainter *p ); - void drawButtonLabel( TQPainter * ) {;} - - private: - int m_realizeButtons; - IceWMClient* client; - TQPixmap* (*pix)[2]; // Points to active/inactive pixmap array -}; - - -class IceWMClient : public KDecoration -{ - Q_OBJECT - TQ_OBJECT - public: - IceWMClient( KDecorationBridge* bridge, KDecorationFactory* factory ); - ~IceWMClient(); - - virtual void init(); - virtual void resize(const TQSize&); - virtual bool eventFilter( TQObject* o, TQEvent* e ); - - protected: - void resizeEvent( TQResizeEvent* ); - void paintEvent( TQPaintEvent* ); - void showEvent( TQShowEvent* ); - void mouseDoubleClickEvent( TQMouseEvent * ); - void wheelEvent( TQWheelEvent * ); - virtual void captionChange(); - virtual void maximizeChange(); - virtual void shadeChange(); - virtual void activeChange(); - // void shadeChange(bool); /* KWin Client class doesn't provide this yet */ - Position mousePosition( const TQPoint& ) const; - void renderMenuIcons(); - void iconChange(); - virtual void desktopChange( ); - virtual void borders(int&, int&, int&, int&) const; - virtual TQSize tqminimumSize() const; - - protected slots: - void slotMaximize(); - void menuButtonPressed(); - void menuButtonReleased(); - void toggleShade(); - - private: - // These are all the icewm button types :) - enum Buttons{ BtnSysMenu=0, BtnClose, BtnMaximize, BtnMinimize, - BtnHide, BtnRollup, BtnDepth, BtnCount }; - - TQString shortenCaption( const TQString* s ); - void calcHiddenButtons(); - int titleTextWidth( const TQString& s ); - void addClientButtons( const TQString& s ); - TQSpacerItem* addPixmapSpacer( TQPixmap* p[], - TQSizePolicy::SizeType = TQSizePolicy::Maximum, int hsize = -1 ); - - IceWMButton* button[ IceWMClient::BtnCount ]; - TQPixmap* menuButtonWithIconPix[2]; - TQSpacerItem* titleSpacerJ; - TQSpacerItem* titleSpacerL; - TQSpacerItem* titleSpacerS; - TQSpacerItem* titleSpacerP; - TQSpacerItem* titlebar; - TQSpacerItem* titleSpacerM; - TQSpacerItem* titleSpacerB; - TQSpacerItem* titleSpacerR; - TQSpacerItem* titleSpacerQ; - TQBoxLayout* hb; - TQGridLayout* grid; - bool m_closing; -}; - -} - -#endif - -// vim: ts=4 |