summaryrefslogtreecommitdiff
path: root/includes/report.h
diff options
context:
space:
mode:
Diffstat (limited to 'includes/report.h')
-rw-r--r--includes/report.h32
1 files changed, 21 insertions, 11 deletions
diff --git a/includes/report.h b/includes/report.h
index 782621cb..47b510c1 100644
--- a/includes/report.h
+++ b/includes/report.h
@@ -1,10 +1,10 @@
/*
* HardInfo - Displays System Information
- * Copyright (C) 2003-2007 Leandro A. F. Pereira <leandro@hardinfo.org>
+ * Copyright (C) 2003-2007 L. A. F. Pereira <l@tia.mat.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
- * the Free Software Foundation, version 2.
+ * the Free Software Foundation, version 2 or later.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -15,7 +15,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-
+
#ifndef __REPORT_H__
#define __REPORT_H__
#include <gtk/gtk.h>
@@ -24,6 +24,7 @@
typedef enum {
REPORT_FORMAT_HTML,
REPORT_FORMAT_TEXT,
+ REPORT_FORMAT_SHELL,
N_REPORT_FORMAT
} ReportFormat;
@@ -41,22 +42,29 @@ typedef struct _ReportContext ReportContext;
struct _ReportContext {
ShellModuleEntry *entry;
gchar *output;
-
+
void (*header) (ReportContext *ctx);
void (*footer) (ReportContext *ctx);
void (*title) (ReportContext *ctx, gchar *text);
void (*subtitle) (ReportContext *ctx, gchar *text);
void (*subsubtitle) (ReportContext *ctx, gchar *text);
- void (*keyvalue) (ReportContext *ctx, gchar *key, gchar *value);
-
+ void (*keyvalue) (ReportContext *ctx, gchar *key, gchar *value, gsize longest_key);
+
+ void (*details_start) (ReportContext *ctx, gchar *key, gchar *value, gsize longest_key);
+ void (*details_section) (ReportContext *ctx, gchar *name);
+ void (*details_keyvalue) (ReportContext *ctx, gchar *key, gchar *value, gsize longest_key);
+ void (*details_end) (ReportContext *ctx);
+
ReportFormat format;
-
- gboolean is_image_enabled;
+
gboolean first_table;
+ gboolean in_details;
gboolean show_column_headers;
- guint columns;
+ guint columns, parent_columns;
GHashTable *column_titles;
+ GHashTable *icon_refs;
+ GHashTable *icon_data;
};
struct _ReportDialog {
@@ -67,7 +75,7 @@ struct _ReportDialog {
GtkWidget *btn_sel_all;
GtkWidget *btn_sel_none;
GtkWidget *treeview;
-
+
GtkTreeModel *model;
};
@@ -75,14 +83,16 @@ void report_dialog_show();
ReportContext *report_context_html_new();
ReportContext *report_context_text_new();
+ReportContext *report_context_shell_new();
void report_header (ReportContext *ctx);
void report_footer (ReportContext *ctx);
void report_title (ReportContext *ctx, gchar *text);
void report_subtitle (ReportContext *ctx, gchar *text);
void report_subsubtitle (ReportContext *ctx, gchar *text);
-void report_key_value (ReportContext *ctx, gchar *key, gchar *value);
+void report_key_value (ReportContext *ctx, gchar *key, gchar *value, gsize longest_key);
void report_table (ReportContext *ctx, gchar *text);
+void report_details (ReportContext *ctx, gchar *key, gchar *value, gchar *details, gsize longest_key);
void report_create_from_module_list(ReportContext *ctx, GSList *modules);
gchar *report_create_from_module_list_format(GSList *modules, ReportFormat format);