[Libreoffice-commits] .: Branch 'feature/gtk3' - vcl/unx

2011-10-22 Thread Lucas Baudin
 vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx |   49 ++
 1 file changed, 43 insertions(+), 6 deletions(-)

New commits:
commit 7f121e108c6d66c6bdf6fc321c29872d2d416e72
Author: Lucas Baudin xapa...@gmail.com
Date:   Sat Oct 22 17:45:27 2011 +0200

gtk3: add toolbar rendering, there is some graphical bugs if you have more 
than one row in the toolbar (is it detectable in GtkSalGraphices?)

diff --git a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx 
b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
index b021036..a5877dd 100644
--- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
@@ -92,7 +92,27 @@ void GtkSalGraphics::drawStyleContext( GtkStyleContext* 
style, GtkStateFlags fla
 rect.width = rControlRegion.GetWidth() + 2;
 
 if(render_background)
-gtk_render_background(gtk_widget_get_style_context(mpWindow), cr, 0, 
0, rControlRegion.GetWidth() + 2, rControlRegion.GetHeight() + 2);
+gtk_render_background(gtk_widget_get_style_context(mpWindow),
+cr,
+0, 0,
+rControlRegion.GetWidth() + 2, rControlRegion.GetHeight() + 2);
+
+else if(style == mpToolButtonStyle)
+{
+/* For toolbuttons, we need to re-draw the toolbar. We also need to 
re-draw
+ * the window background which is under the toolbar.
+ *
+ * FIXME: the width and height of the toolbar are hardcoded, it would 
be better
+ * if we could get the size, and the coords of the parent before 
re-drawing.
+ */
+gtk_render_background(gtk_widget_get_style_context(mpWindow),
+cr,
+-2, -2,
+rControlRegion.GetWidth() + 6, rControlRegion.GetHeight() + 6);
+gtk_render_background(mpToolbarStyle, cr,
+-4, -4,
+rControlRegion.GetWidth() + 8, rControlRegion.GetHeight() + 8);
+}
 
 gtk_style_context_set_state(style, flags);
 
@@ -136,7 +156,10 @@ sal_Bool GtkSalGraphics::drawNativeControl( ControlType 
nType, ControlPart nPart
 drawStyleContext(mpToolbarStyle, flags, rControlRegion);
 return sal_True;
 case PART_BUTTON:
-drawStyleContext(mpToolButtonStyle, flags, rControlRegion);
+/* For all checkbuttons in the toolbars */
+flags = (GtkStateFlags)(flags |
+( (aValue.getTristateVal() == BUTTONVALUE_ON) ? 
GTK_STATE_FLAG_ACTIVE : GTK_STATE_FLAG_NORMAL));
+drawStyleContext(mpToolButtonStyle, flags, rControlRegion, false);
 return sal_True;
 }
 break;
@@ -518,7 +541,9 @@ sal_Bool GtkSalGraphics::IsNativeControlSupported( 
ControlType nType, ControlPar
 if(   (nType == CTRL_PUSHBUTTON  nPart == PART_ENTIRE_CONTROL)
|| (nType == CTRL_CHECKBOX  nPart == PART_ENTIRE_CONTROL)
|| nType == CTRL_SCROLLBAR
-   || nType == CTRL_EDITBOX /*||
+   || nType == CTRL_EDITBOX
+   || (nType == CTRL_TOOLBAR  nPart == PART_ENTIRE_CONTROL)
+   || (nType == CTRL_TOOLBAR  nPart == PART_BUTTON)/*||
 segfault with recent code, needs investigating nType == 
CTRL_TOOLBAR*/ )
 return sal_True;
 return sal_False;
@@ -531,7 +556,7 @@ void GtkSalGraphics::getStyleContext(GtkStyleContext** 
style, GtkWidget* widget)
 {
 *style = gtk_widget_get_style_context(widget);
 g_object_ref(*style);
-gtk_widget_destroy(widget);
+//gtk_widget_destroy(widget);
 }
 
 GtkSalGraphics::GtkSalGraphics( GtkSalFrame *pFrame, GtkWidget *pWindow )
@@ -546,13 +571,25 @@ GtkSalGraphics::GtkSalGraphics( GtkSalFrame *pFrame, 
GtkWidget *pWindow )
  * too slow */
 GtkWidget* toolbar = gtk_toolbar_new();
 GtkWidget* toolbutton = gtk_button_new();
-//gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(toolbutton));
 getStyleContext(mpEntryStyle, gtk_entry_new());
 getStyleContext(mpButtonStyle, gtk_button_new());
 getStyleContext(mpToolbarStyle, toolbar);
+
 gtk_style_context_add_class(mpToolbarStyle, primary-toolbar);
+gtk_style_context_add_class(mpToolbarStyle, toolbar);
 getStyleContext(mpToolButtonStyle, GTK_WIDGET(toolbutton));
-gtk_style_context_add_class(mpToolButtonStyle, button); /* TODO */
+
+/* Create a widget path for our toolbutton widget */
+GtkWidgetPath* path = gtk_widget_path_new ();
+gtk_widget_path_append_type(path, GTK_TYPE_TOOLBAR);
+gtk_widget_path_append_type(path, GTK_TYPE_TOOL_BUTTON);
+gtk_widget_path_append_type(path, GTK_TYPE_BUTTON);
+
+gtk_widget_path_iter_add_class (path, 0, primary-toolbar);
+gtk_widget_path_iter_add_class (path, 0, toolbar);
+gtk_widget_path_iter_add_class (path, 2, button);
+gtk_style_context_set_path(mpToolButtonStyle, path);
+
 getStyleContext(mpScrollbarStyle, gtk_vscrollbar_new(NULL));
 getStyleContext(mpCheckButtonStyle, gtk_check_button_new());
 

[Libreoffice-commits] .: Branch 'feature/gtk3' - vcl/unx

2011-10-20 Thread Michael Meeks
 vcl/unx/generic/app/saldata.cxx   |1 +
 vcl/unx/generic/app/wmadaptor.cxx |2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

New commits:
commit 30c55ed21d66fc68977881423fc3b52fdd82693b
Author: Michael Meeks michael.me...@suse.com
Date:   Thu Oct 20 19:37:01 2011 +0100

generic: fix error trap push/pop/reset semantics

diff --git a/vcl/unx/generic/app/saldata.cxx b/vcl/unx/generic/app/saldata.cxx
index 0459ee4..1164a4e 100644
--- a/vcl/unx/generic/app/saldata.cxx
+++ b/vcl/unx/generic/app/saldata.cxx
@@ -294,6 +294,7 @@ bool X11SalData::ErrorTrapPop( bool bIgnoreError )
 bool err = false;
 if( !bIgnoreError )
 err = HasXErrorOccurred();
+ResetXErrorOccurred();
 PopXErrorLevel();
 return err;
 }
diff --git a/vcl/unx/generic/app/wmadaptor.cxx 
b/vcl/unx/generic/app/wmadaptor.cxx
index ed97ddb..d530932 100644
--- a/vcl/unx/generic/app/wmadaptor.cxx
+++ b/vcl/unx/generic/app/wmadaptor.cxx
@@ -800,7 +800,7 @@ bool WMAdaptor::getNetWmName()
  nFormat == 32
  nItems != 0 )
 {
-if ( GetGenericData()-ErrorTrapPop( false ) )
+if ( ! GetGenericData()-ErrorTrapPop( false ) )
 {
 GetGenericData()-ErrorTrapPush();
 aCheckWindow =  *(XLIB_Window*)pProperty;
___
Libreoffice-commits mailing list
Libreoffice-commits@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] .: Branch 'feature/gtk3' - vcl/unx

2011-10-07 Thread Michael Meeks
 vcl/unx/generic/gdi/salbmp.cxx|1 -
 vcl/unx/generic/window/salobj.cxx |1 -
 vcl/unx/gtk/app/gtkdata.cxx   |   18 +-
 vcl/unx/gtk/app/gtkinst.cxx   |2 ++
 vcl/unx/gtk/window/gtkframe.cxx   |   37 ++---
 5 files changed, 45 insertions(+), 14 deletions(-)

New commits:
commit ab5fe885321d0be4267a6772b91d04bede948e43
Author: Michael Meeks michael.me...@suse.com
Date:   Fri Oct 7 11:29:18 2011 +0100

WaE: cleanup misc. redundant warnings, and silence the gtk2 case

diff --git a/vcl/unx/generic/gdi/salbmp.cxx b/vcl/unx/generic/gdi/salbmp.cxx
index d0201e3..44c1a71 100644
--- a/vcl/unx/generic/gdi/salbmp.cxx
+++ b/vcl/unx/generic/gdi/salbmp.cxx
@@ -218,7 +218,6 @@ BitmapBuffer* X11SalBitmap::ImplCreateDIB(
 if( aDrawable  nWidth  nHeight  nDrawableDepth )
 {
 SalDisplay* pSalDisp = GetGenericData()-GetSalDisplay();
-SalXLib*pXLib = pSalDisp-GetXLib();
 Display*pXDisp = pSalDisp-GetDisplay();
 
 // do not die on XError here
diff --git a/vcl/unx/generic/window/salobj.cxx 
b/vcl/unx/generic/window/salobj.cxx
index da09378..5ad6c40 100644
--- a/vcl/unx/generic/window/salobj.cxx
+++ b/vcl/unx/generic/window/salobj.cxx
@@ -273,7 +273,6 @@ X11SalObject::~X11SalObject()
 {
 std::list SalObject*  rObjects = 
GetGenericData()-GetSalDisplay()-getSalObjects();
 rObjects.remove( this );
-SalDisplay* pSalDisp = GetGenericData()-GetSalDisplay();
 
 GetGenericData()-ErrorTrapPush();
 if ( maSecondary )
diff --git a/vcl/unx/gtk/app/gtkdata.cxx b/vcl/unx/gtk/app/gtkdata.cxx
index f5075a9..4fd338b 100644
--- a/vcl/unx/gtk/app/gtkdata.cxx
+++ b/vcl/unx/gtk/app/gtkdata.cxx
@@ -68,9 +68,9 @@ using namespace vcl_sal;
 
 using ::rtl::OUString;
 
-/***
- * class GtkSalDisplay*
- ***/
+/***
+ * class GtkSalDisplay *
+ ***/
 extern C {
 GdkFilterReturn call_filterGdkEvent( GdkXEvent* sys_event,
  GdkEvent* event,
@@ -126,6 +126,9 @@ void signalKeysChanged( GdkKeymap*, gpointer data )
 GtkSalDisplay* pDisp = (GtkSalDisplay*)data;
 #if !GTK_CHECK_VERSION(3,0,0)
 pDisp-GetKeyboardName(true);
+#else
+(void)pDisp;
+#warning FIXME: impl. / check signalKeysChanged ...
 #endif
 }
 
@@ -192,6 +195,8 @@ GdkFilterReturn GtkSalDisplay::filterGdkEvent( GdkXEvent* 
sys_event,
 
 return aFilterReturn;
 #else
+(void) sys_event;
+#warning FIXME: implement filterGdkEvent ...
 return GDK_FILTER_CONTINUE;
 #endif
 }
@@ -202,7 +207,8 @@ void GtkSalDisplay::screenSizeChanged( GdkScreen* pScreen )
 if (pScreen)
 m_aFrames.front()-CallCallback( SALEVENT_DISPLAYCHANGED, 0 );
 #else
-#warning get this right
+(void)pScreen;
+#warning FIXME: implement screenSizeChanged ...
 #endif
 }
 
@@ -224,7 +230,9 @@ extern C
 void GtkSalDisplay::initScreen( int nScreen ) const
 {
 #if GTK_CHECK_VERSION(3,0,0)
-// no colormaps handling in gtk 3 or need to init screens ...
+// No implementation needed for gt3k: no colormaps handling
+// or need to init screens ...
+(void)nScreen;
 #else
 if( nScreen  0 || nScreen = static_castint(m_aScreens.size()) )
 nScreen = m_nDefaultScreen;
diff --git a/vcl/unx/gtk/app/gtkinst.cxx b/vcl/unx/gtk/app/gtkinst.cxx
index 156e0d3..597be51 100644
--- a/vcl/unx/gtk/app/gtkinst.cxx
+++ b/vcl/unx/gtk/app/gtkinst.cxx
@@ -235,6 +235,7 @@ extern C {
 GdkEvent *event,
 gpointer  data)
 {
+(void)event;
 // FIXME: in theory this could be for non-X events but in reality it 
never is.
 XEvent *pXEvent = (XEvent *)_xevent;
 sal_uInt16 nType;
@@ -341,6 +342,7 @@ SalObject* GtkInstance::CreateObject( SalFrame* pParent, 
SystemWindowData* pWind
 if( pWindowData )
 return X11SalObject::CreateObject( pParent, pWindowData, bShow );
 #else
+(void)pWindowData;
 #warning FIXME: Missing CreateObject functionality ...
 #endif
 
diff --git a/vcl/unx/gtk/window/gtkframe.cxx b/vcl/unx/gtk/window/gtkframe.cxx
index 0b99e6d..cbd23ec 100644
--- a/vcl/unx/gtk/window/gtkframe.cxx
+++ b/vcl/unx/gtk/window/gtkframe.cxx
@@ -343,7 +343,9 @@ GetAlternateKeyCode( const sal_uInt16 nKeyCode )
 }
 
 static int debugQueuePureRedraw = 0;
+#if GTK_CHECK_VERSION(3,0,0)
 static int debugRedboxRedraws = 0;
+#endif
 
 void GtkSalFrame::doKeyCallback( guint state,
  guint keyval,
@@ -787,8 +789,12 @@ static void lcl_set_accept_focus( GtkWindow* pWindow, 
gboolean bAccept, bool bBe
 XFree(