3
* Copyright (C) 2004 Vivien Malerba
5
* This program is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU General Public License as
7
* published by the Free Software Foundation; either version 2 of the
8
* License, or (at your option) any later version.
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
22
#ifndef __WORKSPACE_PAGE_H_
23
#define __WORKSPACE_PAGE_H_
29
#define WORKSPACE_PAGE_TYPE (workspace_page_get_type())
30
#define WORKSPACE_PAGE(obj) G_TYPE_CHECK_INSTANCE_CAST (obj, workspace_page_get_type(), WorkspacePage)
31
#define IS_WORKSPACE_PAGE(obj) G_TYPE_CHECK_INSTANCE_TYPE (obj, workspace_page_get_type ())
32
#define WORKSPACE_PAGE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), WORKSPACE_PAGE_TYPE, WorkspacePageIface))
34
typedef struct _WorkspacePage WorkspacePage;
35
typedef struct _WorkspacePageIface WorkspacePageIface;
37
/* struct for the interface */
38
struct _WorkspacePageIface
40
GTypeInterface g_iface;
43
gchar *(* get_name) (WorkspacePage *iface);
44
gchar *(* get_description)(WorkspacePage *iface);
45
GtkWidget *(* get_sel_button) (WorkspacePage *iface);
46
GtkWidget *(* get_selector) (WorkspacePage *iface);
47
GtkWidget *(* get_work_area) (WorkspacePage *iface);
49
GtkActionGroup *(* get_actions) (WorkspacePage *iface);
50
const gchar *(* get_actions_ui) (WorkspacePage *iface);
53
void (* descr_changed) (WorkspacePage *iface, gchar *new_title);
56
GType workspace_page_get_type (void) G_GNUC_CONST;
58
gchar *workspace_page_get_name (WorkspacePage *page);
59
gchar *workspace_page_get_description (WorkspacePage *page);
60
GtkWidget *workspace_page_get_sel_button (WorkspacePage *page);
61
GtkWidget *workspace_page_get_selector (WorkspacePage *page);
62
GtkWidget *workspace_page_get_work_area (WorkspacePage *page);
63
GtkActionGroup *workspace_page_get_actions (WorkspacePage *page);
64
const gchar *workspace_page_get_actions_ui (WorkspacePage *page);
67
void not_yet_implemented (WorkspacePage *ws, const gchar *feature,
68
const gchar *file, const gchar *function, gint lineno);
69
#define NOT_YET_IMPLEMENTED(ws,feature) not_yet_implemented(ws, feature, __FILE__, __FUNCTION__, __LINE__)