User:Ericb/Salframe.hxx
VCL home page user:ericb
Defines types and styles for the frames
Contents
Includes
To be completed
Macro
Defines macro for the System Abstraction Layer Frame Types
Macros defining frame types. Naming convention: TOTOP_ followed by Frame type name in the Macro name: (ie TOTOP_RESTOREWHENMIN 0x0001)
See vcl/inc/Salframe.hxx for more information
Defines macros for the System Abstraction Layer Frame Style
Macros defining styles for the frames
- (DEFAULT->0x00000001)
- no shadow effect on WindowsXP: NOSHADOW->0x00000010
- indicate tooltip windows, so they can always be topmost: TOOLTIP->0x00000020
- windows without windowmanager decoration, this typically only applies to floating windows: OWNERDRAWDECORATION->0x00000040
- dialogs: DIALOG->0x00000080
- system child window: CHILD->0x10000000
- floating window: FLOAT->0x20000000
- toolwindows should be painted with a smaller decoration: TOOLWINDOW->0x40000000
- the window containing the intro bitmap, aka splashscreen: INTRO->0x80000000
Defines macros for the Flags for System Abstraction Layer Frame Position and Size
- Y->0x0002, WIDTH->0x0004, HEIGHT->0x0008
Methods
virtual SalGraphics* GetGraphics() = 0;
method acquiring pointer on Graphics
virtual void ReleaseGraphics( SalGraphics* pGraphics ) = 0;
releases graphics test using DBG_ASSERT(): checks if graphic exist and is valid before releasing. If not errors will be sent.
virtual BOOL PostEvent( void* pData ) = 0;
sends event to X11
virtual void SetTitle( const XubString& rTitle ) = 0;
sets WMN name (WMN = Window Manager's Name)
virtual void SetIcon( USHORT nIcon ) = 0;
sets icon size: calculates max icon size, then checks if gnome or KDE is running and sets icon accordingly then plays around with WMH: Window Manager Hints (resize & Co) << to be corrected
native menu implementation - currently empty virtual void SetMenu( SalMenu *pSalMenu ) = 0; virtual void DrawMenuBar() = 0; so these two methods are empty
virtual void SetExtendedFrameStyle( SalExtStyle nExtStyle ) = 0; Sets Extended Frame Style no idea how it works uses rtl and saldata
virtual void Show( BOOL bVisible, BOOL bNoActivate = FALSE ) = 0;
Before the window is visible, a resize event must be sent with the correct size
virtual void Enable( BOOL bEnable ) = 0; NYI: enable/disable frame
// Set ClientSize and Center the Window to the desktop // and send/post a resize message
virtual void SetMinClientSize( long nWidth, long nHeight ) = 0;
Sets minimum Clients Size
virtual void SetMaxClientSize( long nWidth, long nHeight ) = 0;
Similar to SetMinClientSize, Sets Maximum Clients Size
virtual void SetPosSize( long nX, long nY, long nWidth, long nHeight, USHORT nFlags ) = 0;
Sets postion and size of window sarts by getting top left corner then get width end length and then sets position
virtual void GetClientSize( long& rWidth, long& rHeight ) = 0;
Work in progress