stlink/gui/stlink-gui.h

94 wiersze
2.4 KiB
C

#ifndef __STLINK_GUI_H__
#define __STLINK_GUI_H__
#include <glib-object.h>
#define STLINK_TYPE_GUI (stlink_gui_get_type ())
#define STLINK_GUI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), STLINK_TYPE_GUI, STlinkGUI))
#define STLINK_IS_GUI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), STLINK_TYPE_GUI))
#define STLINK_GUI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), STLINK_TYPE_GUI, STlinkGUIClass))
#define STLINK_IS_GUI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), STLINK_TYPE_GUI))
#define STLINK_GUI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), STLINK_TYPE_GUI, STlinkGUIlass))
#define STLINK_GUI_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), STLINK_TYPE_GUI, STlinkGUIPrivate))
typedef struct _STlinkGUI STlinkGUI;
typedef struct _STlinkGUIClass STlinkGUIClass;
typedef struct _STlinkGUIPrivate STlinkGUIPrivate;
enum stlink_gui_pages_t {
PAGE_DEVMEM,
PAGE_FILEMEM
};
enum stlink_gui_dnd_targets_t {
TARGET_FILENAME,
TARGET_ROOTWIN
};
struct progress_t {
GtkProgressBar *bar;
guint timer;
gboolean activity_mode;
gdouble fraction;
};
struct mem_t {
guchar *memory;
gsize size;
guint32 base;
};
struct _STlinkGUI
{
GObject parent_instance;
/*< private >*/
GtkWindow *window;
GtkTreeView *devmem_treeview;
GtkTreeView *filemem_treeview;
GtkSpinner *spinner;
GtkStatusbar *statusbar;
GtkInfoBar *infobar;
GtkLabel *infolabel;
GtkNotebook *notebook;
GtkFrame *device_frame;
GtkLabel *chip_id_label;
GtkLabel *core_id_label;
GtkLabel *flash_size_label;
GtkLabel *ram_size_label;
GtkBox *devmem_box;
GtkEntry *devmem_jmp_entry;
GtkBox *filemem_box;
GtkEntry *filemem_jmp_entry;
GtkToolButton *connect_button;
GtkToolButton *disconnect_button;
GtkToolButton *flash_button;
GtkToolButton *open_button;
/* flash dialog */
GtkDialog *flash_dialog;
GtkButton *flash_dialog_ok;
GtkButton *flash_dialog_cancel;
GtkEntry *flash_dialog_entry;
struct progress_t progress;
struct mem_t flash_mem;
struct mem_t file_mem;
gchar *error_message;
gchar *filename;
stlink_t *sl;
};
struct _STlinkGUIClass
{
GObjectClass parent_class;
/* class members */
};
GType stlink_gui_get_type (void);
#endif