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