summaryrefslogtreecommitdiff
path: root/shell.h
diff options
context:
space:
mode:
Diffstat (limited to 'shell.h')
-rw-r--r--shell.h51
1 files changed, 44 insertions, 7 deletions
diff --git a/shell.h b/shell.h
index 23780da0..5446d6c2 100644
--- a/shell.h
+++ b/shell.h
@@ -1,6 +1,6 @@
/*
* HardInfo - Displays System Information
- * Copyright (C) 2003-2006 Leandro A. F. Pereira <leandro@linuxmag.com.br>
+ * Copyright (C) 2003-2007 Leandro A. F. Pereira <leandro@linuxmag.com.br>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -24,11 +24,19 @@
typedef struct _Shell Shell;
typedef struct _ShellTree ShellTree;
typedef struct _ShellInfoTree ShellInfoTree;
+typedef struct _ShellNote ShellNote;
typedef struct _ShellModule ShellModule;
+typedef struct _ShellModuleMethod ShellModuleMethod;
typedef struct _ShellModuleEntry ShellModuleEntry;
typedef struct _ShellFieldUpdate ShellFieldUpdate;
+typedef struct _ShellFieldUpdateSource ShellFieldUpdateSource;
+
+typedef enum {
+ SHELL_ORDER_DESCENDING,
+ SHELL_ORDER_ASCENDING,
+} ShellOrderType;
typedef enum {
SHELL_PACK_RESIZE = 1 << 0,
@@ -39,6 +47,8 @@ typedef enum {
SHELL_VIEW_NORMAL,
SHELL_VIEW_DUAL,
SHELL_VIEW_LOAD_GRAPH,
+ SHELL_VIEW_PROGRESS,
+ SHELL_VIEW_N_VIEWS
} ShellViewType;
typedef enum {
@@ -54,6 +64,7 @@ typedef enum {
INFO_TREE_COL_VALUE,
INFO_TREE_COL_DATA,
INFO_TREE_COL_PBUF,
+ INFO_TREE_COL_PROGRESS,
INFO_TREE_NCOL
} ShellInfoTreeColumns;
@@ -66,6 +77,7 @@ struct _Shell {
ShellTree *tree;
ShellInfoTree *info, *moreinfo;
ShellModuleEntry *selected;
+ ShellNote *note;
LoadGraph *loadgraph;
GtkActionGroup *action_group;
@@ -74,12 +86,14 @@ struct _Shell {
ShellViewType view_type;
gint _pulses;
+ ShellOrderType _order_type;
};
struct _ShellTree {
GtkWidget *scroll;
GtkWidget *view;
GtkTreeModel *model;
+ GtkTreeSelection *selection;
GSList *modules;
};
@@ -87,42 +101,64 @@ struct _ShellTree {
struct _ShellInfoTree {
GtkWidget *scroll;
GtkWidget *view;
- GtkTreeModel *model;
+ GtkTreeModel *model;
+ GtkTreeSelection *selection;
+
+ GtkTreeViewColumn *col_progress, *col_value;
+};
+
+struct _ShellNote {
+ GtkWidget *frame;
+ GtkWidget *label;
};
struct _ShellModule {
gchar *name;
GdkPixbuf *icon;
GModule *dll;
+
+ guchar weight;
GSList *entries;
};
+struct _ShellModuleMethod {
+ gchar *name;
+ gchar *(*function) (void);
+};
+
struct _ShellModuleEntry {
gchar *name;
- gint number;
GdkPixbuf *icon;
gboolean selected;
+ gint number;
- gchar *(*func) (gint entry);
- gchar *(*reloadfunc) (gint entry);
+ gchar *(*func) ();
+ void (*scan_func) ();
+
gchar *(*fieldfunc) (gchar * entry);
gchar *(*morefunc) (gchar * entry);
+ gchar *(*notefunc) (gint entry);
};
struct _ShellFieldUpdate {
ShellModuleEntry *entry;
gchar *field_name;
- gboolean loadgraph;
};
-void shell_init(void);
+struct _ShellFieldUpdateSource {
+ guint source_id;
+ ShellFieldUpdate *sfu;
+};
+
+void shell_init(GSList *modules);
void shell_do_reload(void);
Shell *shell_get_main_shell();
void shell_action_set_enabled(const gchar *action_name,
gboolean setting);
+gboolean shell_action_get_enabled(const gchar *action_name);
gboolean shell_action_get_active(const gchar *action_name);
void shell_action_set_active(const gchar *action_name,
gboolean setting);
@@ -131,6 +167,7 @@ void shell_action_set_property(const gchar *action_name,
gboolean setting);
void shell_set_side_pane_visible(gboolean setting);
+void shell_set_note_from_entry(ShellModuleEntry *entry);
void shell_ui_manager_set_visible(const gchar *path,
gboolean setting);