[Xfce4-commits] <xfce4-cpugraph-plugin:master> Clean the startup code

Florian noreply at xfce.org
Sat Apr 17 16:16:19 CEST 2010


Updating branch refs/heads/master
         to f70ff83132af827373ee768e9365d2e4d89e9387 (commit)
       from c510e63ae71e5733c9fedf21c263fc4ac485e60b (commit)

commit f70ff83132af827373ee768e9365d2e4d89e9387
Author: Florian <frivoal at gmail.com>
Date:   Wed Feb 24 00:30:26 2010 +0900

    Clean the startup code
    
    The code in charge of creating, setting up, and (re)sizing the various
    widgets composing the cpugraph was a bit convoluted. After
    simplification, it still behaves pretty much the same way.

 panel-plugin/cpu.c |   80 ++++++++++------------------------------------------
 1 files changed, 15 insertions(+), 65 deletions(-)

diff --git a/panel-plugin/cpu.c b/panel-plugin/cpu.c
index e1e0e4b..256b1f3 100644
--- a/panel-plugin/cpu.c
+++ b/panel-plugin/cpu.c
@@ -54,69 +54,40 @@ CPUGraph * CreateControl( XfcePanelPlugin * plugin )
 	gint i;
 	GtkWidget *frame, *ebox;
 	GtkOrientation orientation;
-	GtkProgressBarOrientation barOrientation;
 	CPUGraph *base = g_new0( CPUGraph, 1 );
 
+	orientation = xfce_panel_plugin_get_orientation(plugin);
+	if((base->nrCores = cpuData_init() - 1) < 0)
+		fprintf(stderr,"Cannot init cpu data !\n");
+
 	base->plugin = plugin;
 
 	ebox = gtk_event_box_new();
-	gtk_widget_show( ebox );
 	gtk_container_add( GTK_CONTAINER( plugin ), ebox );
-
-	orientation = xfce_panel_plugin_get_orientation(plugin);
-	if(orientation == GTK_ORIENTATION_HORIZONTAL)
-		barOrientation = GTK_PROGRESS_BOTTOM_TO_TOP;
-	else
-		barOrientation = GTK_PROGRESS_LEFT_TO_RIGHT;
+	xfce_panel_plugin_add_action_widget( plugin, ebox );
+	g_signal_connect( ebox, "button-press-event", G_CALLBACK( LaunchCommand ), base );
 
 	base->m_Box = xfce_hvbox_new(orientation, FALSE, 0);
-	gtk_widget_show(base->m_Box);
 	gtk_container_add(GTK_CONTAINER(ebox), base->m_Box);
 
-	gtk_container_set_border_width(GTK_CONTAINER(frame), BORDER / 2);
-
-
-	/* Multicore stuff */
-	if((base->nrCores = cpuData_init() - 1) < 0)
-		fprintf(stderr,"Cannot init cpu data !\n");
-
 	base->m_pBar = (GtkWidget **) g_malloc( sizeof( GtkWidget * ) * base->nrCores );
 
 	for(i=0; i<base->nrCores; i++) {
 		base->m_pBar[i] = GTK_WIDGET(gtk_progress_bar_new());
-		gtk_progress_bar_set_orientation(
-				GTK_PROGRESS_BAR(base->m_pBar[i]),
-				barOrientation);
-
-		gtk_box_pack_start(
-				GTK_BOX(base->m_Box),
-				base->m_pBar[i],
-				FALSE,
-				FALSE,
-				0);
-
-		gtk_widget_show(base->m_pBar[i]);
+		gtk_box_pack_start( GTK_BOX(base->m_Box), base->m_pBar[i], FALSE, FALSE, 0);
 	}
 
 	base->m_FrameWidget = frame = gtk_frame_new( NULL );
-	gtk_frame_set_shadow_type( GTK_FRAME( frame ), GTK_SHADOW_IN );
-
-	gtk_box_pack_start( GTK_BOX(base->m_Box), frame, TRUE, TRUE, 2);
-
-	gtk_widget_show( frame );
-
-	xfce_panel_plugin_add_action_widget( plugin, ebox );
-	g_signal_connect( ebox, "button-press-event", G_CALLBACK( LaunchCommand ), base );
+	gtk_box_pack_start( GTK_BOX(base->m_Box), frame, TRUE, TRUE, 0);
 
 	base->m_DrawArea = gtk_drawing_area_new();
-	gtk_widget_set_app_paintable( base->m_DrawArea, TRUE );
 	gtk_container_add( GTK_CONTAINER( frame ), GTK_WIDGET( base->m_DrawArea ) );
-	gtk_widget_show( base->m_DrawArea );
-
+	g_signal_connect_after( base->m_DrawArea, "expose-event", G_CALLBACK( DrawAreaExposeEvent ), base );
 
-	xfce_panel_plugin_add_action_widget( plugin, base->m_DrawArea );
+	SetOrientation(plugin, orientation, base);
+	UserSetSize( base );
 
-	g_signal_connect_after( base->m_DrawArea, "expose-event", G_CALLBACK( DrawAreaExposeEvent ), base );
+	gtk_widget_show_all(ebox);
 
 	return base;
 }
@@ -125,41 +96,20 @@ void SetOrientation( XfcePanelPlugin * plugin, GtkOrientation orientation, CPUGr
 {
 	GtkProgressBarOrientation barOrientation;
 	gpointer p_pBar[base->nrCores];
-	gpointer p_FrameWidget;
 	gint i; 
-	/* <-- Multicore stuff */
 
-	orientation = xfce_panel_plugin_get_orientation( plugin );
+	xfce_hvbox_set_orientation( XFCE_HVBOX( base->m_Box ), orientation );
+
 	if( orientation == GTK_ORIENTATION_HORIZONTAL )
 		barOrientation = GTK_PROGRESS_BOTTOM_TO_TOP;
 	else
 		barOrientation = GTK_PROGRESS_LEFT_TO_RIGHT;
 
-	/* Unpack progress bars */
-	for( i=0; i<base->nrCores; i++ )
-	{
-		/* reference progress bars to keep them alive */
-		p_pBar[i] = g_object_ref( base->m_pBar[i] );
-		gtk_container_remove( GTK_CONTAINER( base->m_Box ), GTK_WIDGET( base->m_pBar[i] ) );
-	}
-	p_FrameWidget = g_object_ref( base->m_FrameWidget );
-	gtk_container_remove( GTK_CONTAINER( base->m_Box ), GTK_WIDGET( base->m_FrameWidget ) );
-
-
-	xfce_hvbox_set_orientation( XFCE_HVBOX( base->m_Box ), orientation );
-
-	/* Pack progress bars again into hvbox */
 	for( i=0; i<base->nrCores; i++ )
 	{
 		gtk_progress_bar_set_orientation( GTK_PROGRESS_BAR( base->m_pBar[i] ), barOrientation );	
-		gtk_box_pack_start( GTK_BOX( base->m_Box ), base->m_pBar[i], FALSE, FALSE, 1 );
-		/* We dont need anymore this reference */
-		g_object_unref( p_pBar[i] );
 	}
-	gtk_box_pack_start( GTK_BOX( base->m_Box ), base->m_FrameWidget, TRUE, TRUE, 2 );
-	g_object_unref( p_FrameWidget );
-	UserSetSize( base );
-	gtk_widget_queue_draw( base->m_DrawArea );
+
 }
 
 void UpdateTooltip( CPUGraph * base )



More information about the Xfce4-commits mailing list