Riferimenti per il file menu.c

#include <sys/stat.h>
#include <memory.h>
#include <stdio.h>
#include <string.h>
#include <X11/Xlib.h>
#include <gdk/gdkx.h>
#include <gtk/gtk.h>
#include <libxfce4util/debug.h>
#include <libxfce4util/i18n.h>
#include <libxfce4util/util.h>
#include <libxfcegui4/libxfcegui4.h>
#include "main.h"
#include "menu.h"
#include "settings.h"
#include "workspaces.h"
#include <brain_db.h>
#include <brain_client.h>
#include <oms.h>

Definizioni

#define PATH_MAX   1024
#define WLIST_MAXLEN   20
#define SEARCHPATH
#define COORD_X   0
#define COORD_Y   1

Funzioni

static void update_menu_channel (const char *name, BrainMcsAction action)
void add_menu_callback (GHashTable *ht)
void remove_factory_item (MenuItem *mi, GtkItemFactory *ifact)
void free_menu_data (GList *menu_data)
void do_exec (gpointer callback_data, guint callback_action, GtkWidget *widget)
void do_term_exec (gpointer callback_data, guint callback_action, GtkWidget *widget)
void do_builtin (gpointer callback_data, guint callback_action, GtkWidget *widget)
void do_edit (gpointer callback_data, guint callback_action, GtkWidget *widget)
GtkItemFactoryEntry parse_item (MenuItem *item)
static GtkWidget * create_desktop_menu (void)
static void activate_window (GtkWidget *item, NetkWindow *win)
static GtkWidget * create_window_list_item (NetkWindow *win)
static GtkWidget * create_windowlist_menu ()
static gboolean button_scroll_event (GtkWidget *widget, GdkEventScroll *event)
static gboolean button_release_event (GtkWidget *win, GdkEventButton *ev, gpointer data)
static gboolean run_left_on_right (GtkWidget *win)
static gboolean button_press_event (GtkWidget *win, GdkEventButton *ev, gpointer data)
void menu_init (GtkWidget *window, NetkScreen *screen, BAMExchanger *applet_manager)
void menu_load_settings (BrainClient *client)

Variabili

int button_press_event_coords [2]
static NetkScreen * netk_screen = NULL
static GList * MainMenuData
static gboolean EditMode = FALSE
static gboolean right_on_left = FALSE
static guint right_on_left_timeout = 0
static guint right_on_left_handler = 0


Documentazione delle definizioni

#define PATH_MAX   1024
 

#define WLIST_MAXLEN   20
 

#define SEARCHPATH
 

Valore:

(SYSCONFDIR G_DIR_SEPARATOR_S "xfce4" G_DIR_SEPARATOR_S "%F.%L:"\
                         SYSCONFDIR G_DIR_SEPARATOR_S "xfce4" G_DIR_SEPARATOR_S "%F.%l:"\
                         SYSCONFDIR G_DIR_SEPARATOR_S "xfce4" G_DIR_SEPARATOR_S "%F")

#define COORD_X   0
 

#define COORD_Y   1
 


Documentazione delle funzioni

static void update_menu_channel const char *  name,
BrainMcsAction  action
[static]
 

void add_menu_callback GHashTable *  ht  ) 
 

void remove_factory_item MenuItem mi,
GtkItemFactory *  ifact
 

void free_menu_data GList *  menu_data  ) 
 

void do_exec gpointer  callback_data,
guint  callback_action,
GtkWidget *  widget
 

void do_term_exec gpointer  callback_data,
guint  callback_action,
GtkWidget *  widget
 

void do_builtin gpointer  callback_data,
guint  callback_action,
GtkWidget *  widget
 

void do_edit gpointer  callback_data,
guint  callback_action,
GtkWidget *  widget
 

GtkItemFactoryEntry parse_item MenuItem item  ) 
 

static GtkWidget* create_desktop_menu void   )  [static]
 

Da fare:
Gli item_factory sono deprecated, sarebbero da aggiornare...

static void activate_window GtkWidget *  item,
NetkWindow *  win
[static]
 

static GtkWidget* create_window_list_item NetkWindow *  win  )  [static]
 

static GtkWidget* create_windowlist_menu  )  [static]
 

static gboolean button_scroll_event GtkWidget *  widget,
GdkEventScroll *  event
[static]
 

static gboolean button_release_event GtkWidget *  win,
GdkEventButton *  ev,
gpointer  data
[static]
 

static gboolean run_left_on_right GtkWidget *  win  )  [static]
 

Da fare:
Sarebbe carino (ed anche piu' complesso...) predisporre un nuovo segnale per il menu per bindarlo alla callback di apertura sulla pressione trattenuta del tasto sinistro

Da fare:
Tenere traccia dell'eventuale spostamento del cursore: se si e' mosso, non viene aperto nessun menu

static gboolean button_press_event GtkWidget *  win,
GdkEventButton *  ev,
gpointer  data
[static]
 

Da fare:
Rendere configurabile l'associazione del tasto centrale del mouse o alla windowslist o all'OnMouse-Shell in stylus mode (?)

void menu_init GtkWidget *  window,
NetkScreen *  screen,
BAMExchanger applet_manager
 

void menu_load_settings BrainClient client  ) 
 


Documentazione delle variabili

int button_press_event_coords[2]
 

NetkScreen* netk_screen = NULL [static]
 

GList* MainMenuData [static]
 

gboolean EditMode = FALSE [static]
 

gboolean right_on_left = FALSE [static]
 

guint right_on_left_timeout = 0 [static]
 

guint right_on_left_handler = 0 [static]
 


Generato il Sun Apr 16 01:36:44 2006 per BrainTop da  doxygen 1.4.6