r399 - trunk/src/target/OM-2007/applications/openmoko-taskmanager/src

tongsong_li at gta01.hmw-consulting.de tongsong_li at gta01.hmw-consulting.de
Wed Dec 13 02:11:10 CET 2006


Author: tongsong_li
Date: 2006-12-13 02:11:02 +0100 (Wed, 13 Dec 2006)
New Revision: 399

Modified:
   trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/callbacks.c
   trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/list_view.c
   trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/list_view.h
   trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/popupmenu.c
   trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/taskmanager.c
   trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/taskmanager.h
Log:
update openmoko-taskmanager


Modified: trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/callbacks.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/callbacks.c	2006-12-12 15:37:18 UTC (rev 398)
+++ trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/callbacks.c	2006-12-13 01:11:02 UTC (rev 399)
@@ -167,7 +167,8 @@
                         if (iw == w)	{
                             GtkTreePath *path;
                             path = gtk_tree_model_get_path (GTK_TREE_MODEL (l->list_store), &iter);
-                            gtk_tree_view_set_cursor (GTK_TREE_VIEW (l->mokolist_view), path, NULL, FALSE);
+                            //gtk_tree_view_set_cursor (GTK_TREE_VIEW (l->mokolist_view), path, NULL, FALSE);
+                            gtk_tree_view_set_cursor (GTK_TREE_VIEW (l->list_view), path, NULL, FALSE);
                             gtk_tree_path_free (path);
                             break;
                             }
@@ -187,8 +188,8 @@
     GtkTreeViewColumn *col;
     GtkTreeModel *model;
 
-    //gtk_tree_view_get_cursor(l->list_view, &path, &col);
-    gtk_tree_view_get_cursor(l->mokolist_view, &path, &col);
+    gtk_tree_view_get_cursor(l->list_view, &path, &col);
+    //gtk_tree_view_get_cursor(l->mokolist_view, &path, &col);
 
     model = GTK_TREE_MODEL (l->list_store);
 

Modified: trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/list_view.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/list_view.c	2006-12-12 15:37:18 UTC (rev 398)
+++ trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/list_view.c	2006-12-13 01:11:02 UTC (rev 399)
@@ -87,29 +87,29 @@
 list_init (List *l) { 
     GtkWidget *ico;
     l->list_store = gtk_list_store_new (3, G_TYPE_STRING, G_TYPE_INT, G_TYPE_OBJECT);
-    //l->list_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (l->list_store));
-    l->mokolist_view = moko_tree_view_new_with_model (GTK_TREE_MODEL (l->list_store));
-    //gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (l->list_view), FALSE);
-    gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (l->mokolist_view), FALSE);
+    l->list_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (l->list_store));
+    //l->mokolist_view = moko_tree_view_new_with_model (GTK_TREE_MODEL (l->list_store));
+    gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (l->list_view), FALSE);
+    //gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (l->mokolist_view), FALSE);
     
     l->renderer = gtk_cell_renderer_pixbuf_new ();
     l->column = gtk_tree_view_column_new_with_attributes ("Icon", l->renderer, "pixbuf", 2, NULL);
-    //gtk_tree_view_append_column (GTK_TREE_VIEW (l->list_view), l->column);
-    moko_tree_view_append_column (GTK_TREE_VIEW (l->mokolist_view), l->column);
+    gtk_tree_view_append_column (GTK_TREE_VIEW (l->list_view), l->column);
+    //moko_tree_view_append_column (GTK_TREE_VIEW (l->mokolist_view), l->column);
 
     l->renderer = gtk_cell_renderer_text_new ();
     l->column = gtk_tree_view_column_new_with_attributes ("Running programs", l->renderer, 
     													"text", 0, NULL);
-    //gtk_tree_view_append_column (GTK_TREE_VIEW (l->list_view), l->column);
+   gtk_tree_view_append_column (GTK_TREE_VIEW (l->list_view), l->column);
   	//	*/
-    moko_tree_view_append_column (GTK_TREE_VIEW (l->mokolist_view), l->column);
+   // moko_tree_view_append_column (GTK_TREE_VIEW (l->mokolist_view), l->column);
 		
-    /*l->scrolled = gtk_scrolled_window_new (NULL, NULL);
+    l->scrolled = gtk_scrolled_window_new (NULL, NULL);
     gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (l->scrolled),
 				  GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
     gtk_container_add (GTK_CONTAINER (l->scrolled), l->list_view);
-    */
-    l->scrolled = moko_tree_view_put_into_scrolled_window (l->mokolist_view);
+    
+    //l->scrolled = moko_tree_view_put_into_scrolled_window (l->mokolist_view);
 
     l->btn_close = gtk_button_new ();
     ico = gtk_image_new_from_stock(GTK_STOCK_CLOSE, GTK_ICON_SIZE_SMALL_TOOLBAR);

Modified: trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/list_view.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/list_view.h	2006-12-12 15:37:18 UTC (rev 398)
+++ trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/list_view.h	2006-12-13 01:11:02 UTC (rev 399)
@@ -49,11 +49,11 @@
 	GtkHBox *hbox;
 	GtkButton *btn_close;
 	GtkListStore *list_store;
-	//GtkWidget *list_view;
+	GtkWidget *list_view;
 	GtkWidget *scrolled;
 	GtkCellRenderer *renderer;
 	GtkTreeViewColumn *column;
-	MokoTreeView *mokolist_view;
+	//MokoTreeView *mokolist_view;
 
 	/*temporary */
 	GtkButton *tab, *tabhold;

Modified: trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/popupmenu.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/popupmenu.c	2006-12-12 15:37:18 UTC (rev 398)
+++ trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/popupmenu.c	2006-12-13 01:11:02 UTC (rev 399)
@@ -22,13 +22,15 @@
 void
 om_kill_task_cb(GtkMenuItem *item, List *l) {
     g_debug ("kill task cb");
-    om_wm_cmd(item, l->mokolist_view, MB_CMD_REMOVE_CLIENT);
+    //om_wm_cmd(item, l->mokolist_view, MB_CMD_REMOVE_CLIENT);
+    om_wm_cmd(item, l->list_view, MB_CMD_REMOVE_CLIENT);
     }
 
 void 
 om_kill_and_swith_cb(GtkMenuItem *item, List *l) {
     g_debug ("call kill and switch task function");
-    om_wm_cmd(item, l->mokolist_view, MB_CMD_REMOVE_AND_ACTIVE);
+    //om_wm_cmd(item, l->mokolist_view, MB_CMD_REMOVE_AND_ACTIVE);
+    om_wm_cmd(item, l->list_view, MB_CMD_REMOVE_AND_ACTIVE);
     }
 
 void

Modified: trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/taskmanager.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/taskmanager.c	2006-12-12 15:37:18 UTC (rev 398)
+++ trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/taskmanager.c	2006-12-13 01:11:02 UTC (rev 399)
@@ -20,44 +20,130 @@
 
 #include "taskmanager.h"
 
+#include <stdio.h> 
+#include <X11/Xlib.h> 
+#include <X11/Xatom.h> 
+#include <glib.h> 
+#include <gtk/gtk.h> 
+#include <gdk/gdk.h> 
+#include <gdk/gdkx.h> // GDK_WINDOW_XWINDOW 
+
+#define OPAQUE  0x55555555
+/* set the widget's transparency to opacity 
+ * opacity is guint 0x00000000-0xffffffff 
+ */ 
+
+
 int 
+gtk_widget_set_transparency(GtkWidget *widget, guint opacity) { 
+        Display *display; 
+        Window window; 
+        Window parent_win; 
+        Window root_win; 
+        Window* child_windows; 
+        int num_child_windows; 
+
+        if(!GTK_IS_WIDGET(widget)){ 
+                printf("gtk_widget_set_transparency: not a widget!\n"); 
+                return -1; 
+        } 
+
+        if(widget->window == NULL){ 
+                printf("gtk_widget_set_transparency: please init widget before set transparency!\n"); 
+                return -1; 
+        } 
+
+        /* Set the Display and Screen */ 
+        display = (Display*)gdk_x11_get_default_xdisplay(); 
+        /* sync, so the window manager can know the new widget */ 
+        XSync(display, False); 
+        window = GDK_WINDOW_XWINDOW(widget->window); 
+
+        /* Get the cureent window's top-level window */ 
+        while(1){ 
+                XQueryTree(display, window, 
+                                &root_win, 
+                                &parent_win, 
+                                &child_windows, &num_child_windows); 
+                XFree(child_windows); 
+                /* found the top-level window */ 
+                if(root_win == parent_win) break; 
+                window = parent_win; 
+        } 
+
+        if(opacity == OPAQUE){ 
+                XDeleteProperty(display, window, 
+                                XInternAtom(display, "_NET_WM_WINDOW_OPACITY", False)); 
+        }else{ 
+                XChangeProperty(display, window, 
+                                XInternAtom(display, "_NET_WM_WINDOW_OPACITY", False), 
+                                XA_CARDINAL, 32, PropModeReplace, 
+                                (unsigned char *) &opacity, 1L); 
+        } 
+
+        XSync(display, False); 
+
+        return 0; 
+} 
+
+int 
 main (int argc, char** argv) {
-    GtkWidget *taskmanager; //main window
+    //GtkWidget *taskmanager; //main window
+    MokoTaskManager *tm;
     Display *dpy;
-    List *list;
+    //List *list;
 
-    list = g_malloc (sizeof (List));
+    tm = g_malloc (sizeof (MokoTaskManager));
+
+    memset (tm, 0, sizeof (MokoTaskManager));
 	
     gtk_init (&argc, &argv);
     dpy = GDK_DISPLAY ();
+
+    tm->app = MOKO_APPLICATION(moko_application_get_instance());
+    g_set_application_name( "Openmoko-taskmanager" );
     
-    taskmanager = gtk_window_new (GTK_WINDOW_POPUP);//It is a popup window
-    gtk_window_set_title (taskmanager, _("Task Manager"));
-    gtk_widget_set_uposition (taskmanager, TASK_MANAGER_PROPERTY_X, TASK_MANAGER_PROPERTY_Y);
-    gtk_window_set_default_size (taskmanager, TASK_MANAGER_PROPERTY_WIDTH, TASK_MANAGER_PROPERTY_HEIGHT);
-    gtk_widget_show (taskmanager);
+   /* tm->gtk_window = gtk_window_new (GTK_WINDOW_POPUP);//It is a popup window
+    gtk_window_set_title (tm->gtk_window, _("Task Manager"));
+    gtk_widget_set_uposition (tm->gtk_window, TASK_MANAGER_PROPERTY_X, TASK_MANAGER_PROPERTY_Y);
+    gtk_window_set_default_size (tm->gtk_window, TASK_MANAGER_PROPERTY_WIDTH, TASK_MANAGER_PROPERTY_HEIGHT);
+    gtk_widget_show (tm->gtk_window);
+*/
+    tm->window = MOKO_FINGER_WINDOW(moko_finger_window_new());
+    tm->wheel = moko_finger_wheel_new();
+    //moko_finger_wheel_show(tm->wheel);
+    tm->toolbox = moko_finger_window_get_toolbox(tm->window);
 
-    list = LIST(list_new());
-    om_update_store_list(dpy, list->list_store);
-    om_set_list_highlight(dpy, list);
-    gtk_widget_show (list);
+    tm->close =  moko_finger_tool_box_add_button( tm->toolbox );
+    gtk_widget_show (tm->close);
+    tm->close_all =  moko_finger_tool_box_add_button( tm->toolbox );
+    gtk_widget_show (tm->close_all);
+    tm->quit =  moko_finger_tool_box_add_button( tm->toolbox );
+    gtk_widget_show (tm->quit);
+    
+    tm->l = LIST(list_new());
+    om_update_store_list(dpy, tm->l->list_store);
+    om_set_list_highlight(dpy, tm->l);
+    gtk_widget_show (tm->l);
 	
-    gtk_container_add (taskmanager, GTK_WIDGET (list));
-    //moko_finger_window_set_contents( window, GTK_WIDGET(list) );
+    //gtk_container_add (tm->gtk_window, GTK_WIDGET (tm->l));
+    moko_finger_window_set_contents (tm->window, GTK_WIDGET(tm->l));
 
 
-    g_signal_connect (list->btn_close, "clicked", gtk_main_quit, NULL);
+    g_signal_connect (tm->l->btn_close, "clicked", gtk_main_quit, NULL);
 //g_signal_connect (G_OBJECT (list->list_view), "cursor-changed", G_CALLBACK (om_cursor_changed), 
 // GTK_TREE_MODEL (list->list_store));
-    g_signal_connect (G_OBJECT (list->tab), "clicked", G_CALLBACK (om_tab_event_cb), list);
-    g_signal_connect (G_OBJECT (list->tabhold), "clicked", G_CALLBACK (om_hold_event_cb), list);
+    g_signal_connect (G_OBJECT (tm->l->tab), "clicked", G_CALLBACK (om_tab_event_cb), tm->l);
+    g_signal_connect (G_OBJECT (tm->l->tabhold), "clicked", G_CALLBACK (om_hold_event_cb), tm->l);
 
-    gdk_window_add_filter (NULL, om_window_filter, list);
+    gdk_window_add_filter (NULL, om_window_filter, tm->l);
     XSelectInput (dpy, DefaultRootWindow (dpy), PropertyChangeMask);
 
-    gtk_widget_show_all (taskmanager);
+    gtk_widget_set_transparency(tm->window, 50);
 
+    gtk_widget_show_all (tm->window);
+
     gtk_main();
 	
-    g_free (list);
+    g_free (tm);
 }

Modified: trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/taskmanager.h
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/taskmanager.h	2006-12-12 15:37:18 UTC (rev 398)
+++ trunk/src/target/OM-2007/applications/openmoko-taskmanager/src/taskmanager.h	2006-12-13 01:11:02 UTC (rev 399)
@@ -42,5 +42,23 @@
 #define TASK_MANAGER_PROPERTY_Y 		45 
 
 #define _(string) (string)
+
+typedef struct _MokoTaskManager MokoTaskManager;
+
+struct _MokoTaskManager {
+    MokoApplication *app;
+    
+    MokoFingerWindow *window;//??
+    GtkWidget *gtk_window;//??
+    MokoFingerWheel *wheel;
+    MokoFingerToolBox *toolbox;
+
+    GtkButton *close;
+    GtkButton *close_all;
+    GtkButton *quit;
+
+//template
+    List *l;
+    };
  
 #endif /*taskmanager.h*/





More information about the commitlog mailing list