summaryrefslogtreecommitdiff
path: root/vcl/unx
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2004-05-10 14:55:02 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2004-05-10 14:55:02 +0000
commitb296c410a7e781800ab5c074f3e4846d0210741a (patch)
treea904ab152807ccd6d2ade50df54d617b4447eb9b /vcl/unx
parent9ecdf21d16578d9b100edaa6b284f444e52d51f0 (diff)
INTEGRATION: CWS nwf (1.2.2); FILE MERGED
2004/04/26 14:09:53 pl 1.2.2.5: #116502# move for child frames did not work correctly 2004/03/15 17:08:26 pl 1.2.2.4: improve initial frame size 2004/03/10 16:41:08 pl 1.2.2.3: add: visibility notify 2004/03/04 15:44:26 pl 1.2.2.2: #115278# make plugged mode work 2004/02/27 15:46:29 pl 1.2.2.1: #i25181# send simple ExtText input as keyinput/release
Diffstat (limited to 'vcl/unx')
-rw-r--r--vcl/unx/inc/plugins/gtk/gtkframe.hxx35
1 files changed, 29 insertions, 6 deletions
diff --git a/vcl/unx/inc/plugins/gtk/gtkframe.hxx b/vcl/unx/inc/plugins/gtk/gtkframe.hxx
index 51049cc84fe9..e9ad2dca7846 100644
--- a/vcl/unx/inc/plugins/gtk/gtkframe.hxx
+++ b/vcl/unx/inc/plugins/gtk/gtkframe.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: gtkframe.hxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: obo $ $Date: 2004-02-20 08:57:22 $
+ * last change: $Author: hr $ $Date: 2004-05-10 15:55:02 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -64,6 +64,7 @@
#include <prex.h>
#include <gtk/gtk.h>
+#include <gdk/gdk.h>
#include <gdk/gdkx.h>
#include <gdk/gdkkeysyms.h>
#include <postx.h>
@@ -94,6 +95,8 @@ class GtkSalFrame : public SalFrame
};
GtkWindow* m_pWindow;
+ GdkWindow* m_pForeignParent;
+ GdkWindow* m_pForeignTopLevel;
ULONG m_nStyle;
GtkFixed* m_pFixedContainer;
GtkSalFrame* m_pParent;
@@ -103,12 +106,14 @@ class GtkSalFrame : public SalFrame
GraphicsHolder m_aGraphics[ nMaxGraphics ];
USHORT m_nKeyModifiers;
GdkCursor *m_pCurrentCursor;
+ GdkVisibilityState m_nVisibility;
int m_nSavedScreenSaverTimeout;
bool m_bResizeable;
bool m_bSingleAltPress;
bool m_bDefaultPos;
bool m_bDefaultSize;
bool m_bSendModChangeOnRelease;
+ bool m_bWasPreedit;
void Init( SalFrame* pParent, ULONG nStyle );
void Init( SystemParentData* pSysData );
@@ -128,6 +133,7 @@ class GtkSalFrame : public SalFrame
static gboolean signalState( GtkWidget*, GdkEvent*, gpointer );
static gboolean signalScroll( GtkWidget*, GdkEvent*, gpointer );
static gboolean signalCrossing( GtkWidget*, GdkEventCrossing*, gpointer );
+ static gboolean signalVisibility( GtkWidget*, GdkEventVisibility*, gpointer );
static void signalIMCommit( GtkIMContext*, gchar*, gpointer );
static gboolean signalIMDeleteSurrounding( GtkIMContext*, gint, gint, gpointer );
static void signalIMPreeditChanged( GtkIMContext*, gpointer );
@@ -143,6 +149,19 @@ class GtkSalFrame : public SalFrame
void setAutoLock( bool bLock );
void setScreenSaverTimeout( int nTimeout );
+ GdkNativeWindow findTopLevelSystemWindow( GdkNativeWindow aWindow );
+
+ static int m_nFloats;
+
+ bool isFloatGrabWindow() const
+ {
+ return
+ (m_nStyle & SAL_FRAME_STYLE_FLOAT) && // only a float can be floatgrab
+ !(m_nStyle & SAL_FRAME_STYLE_TOOLTIP); // tool tips are not
+ }
+
+ Size calcDefaultSize();
+
public:
GtkSalFrame( SalFrame* pParent, ULONG nStyle );
GtkSalFrame( SystemParentData* pSysData );
@@ -151,10 +170,14 @@ public:
// and false else; if true was returned the event should
// be swallowed
bool Dispatch( const XEvent* pEvent );
- void grabPointer( BOOL bGrab );
-
- GtkWindow* getWindow() const { return m_pWindow; }
- GtkFixed* getFixedContainer() const { return m_pFixedContainer; }
+ void grabPointer( BOOL bGrab, BOOL bOwnerEvents = FALSE );
+
+ GtkWindow* getWindow() const { return m_pWindow; }
+ GtkFixed* getFixedContainer() const { return m_pFixedContainer; }
+ GdkWindow* getForeignParent() const { return m_pForeignParent; }
+ GdkWindow* getForeignTopLevel() const { return m_pForeignTopLevel; }
+ GdkVisibilityState getVisibilityState() const
+ { return m_nVisibility; }
virtual ~GtkSalFrame();