Difference between revisions of "User:Ericb/Salframe.hxx"

From Apache OpenOffice Wiki
Jump to: navigation, search
 
(24 intermediate revisions by one other user not shown)
Line 1: Line 1:
 +
VCL home page [[user:ericb]]
 +
 
Defines types and styles for the frames
 
Defines types and styles for the frames
 +
==Includes==
 +
To be completed
  
Defines macro for the System Abstraction Layer Frame Types :
+
== Macro ==
  
  TOTOP_RESTOREWHENMIN->0x0001, TOTOP_FOREGROUNDTASK0->x0002, TOTOP_GRABFOCUS->0x0004, TOTOP_GRABFOCUS_ONLY  ->0x0008, ENDEXTTEXTINPUT_COMPLETE->0x0001, ENDEXTTEXTINPUT_CANCEL->0x0002
 
  
 +
===Defines macro for the System Abstraction Layer Frame Types ===
  
Defines marcro for the System Abstraction Layer Frame Style :  
+
Macros defining frame types.
 +
Naming convention: TOTOP_ followed by Frame type name in the Macro name: (ie TOTOP_RESTOREWHENMIN 0x0001)
  
  DEFAULT->0x00000001, MOVEABLE->0x00000002, SIZEABLE->0x00000004, CLOSEABLE->0x00000008
+
See vcl/inc/Salframe.hxx for more information
 
+
  -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 macro for the Flags for  System Abstraction Layer Frame Position and Size :
+
===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
+
* Y->0x0002, WIDTH->0x0004, HEIGHT->0x0008
 +
 
 +
 
 
--------------------------------------------------------
 
--------------------------------------------------------
Methods
 
  
virtual SalGraphics* GetGraphics() = 0;
+
== Methods ==
 +
 
 +
virtual SalGraphics*       GetGraphics() = 0;
  
 
  method acquiring pointer on Graphics
 
  method acquiring pointer on Graphics
Line 31: Line 46:
 
virtual void ReleaseGraphics( SalGraphics* pGraphics ) = 0;
 
virtual void ReleaseGraphics( SalGraphics* pGraphics ) = 0;
 
  releases graphics
 
  releases graphics
  test using DBG_ASSERT()  
+
  test using DBG_ASSERT():
 
  checks if graphic exist and is valid before releasing. If not errors will be sent.
 
  checks if graphic exist and is valid before releasing. If not errors will be sent.
  
Line 37: Line 52:
 
  sends event to  X11
 
  sends event to  X11
  
virtual void SetTitle( const XubString& rTitle ) = 0;
+
virtual void     SetTitle( const XubString& rTitle ) = 0;
 
  sets WMN name (WMN = Window Manager's Name)
 
  sets WMN name (WMN = Window Manager's Name)
  
virtual void SetIcon( USHORT nIcon ) = 0;
+
virtual void     SetIcon( USHORT nIcon ) = 0;
 
  sets icon size:
 
  sets icon size:
 
  calculates max icon size,
 
  calculates max icon size,
 
  then checks if gnome or KDE is running and sets icon accordingly  
 
  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
 
  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

Latest revision as of 11:23, 25 March 2010

VCL home page user:ericb

Defines types and styles for the frames

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

Personal tools