File: drgenius_view.h

package info (click to toggle)
drgeo 1.1.0-1.2
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 8,340 kB
  • ctags: 2,481
  • sloc: cpp: 22,807; sh: 11,294; lisp: 1,285; makefile: 378; ansic: 343
file content (70 lines) | stat: -rw-r--r-- 1,990 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/* Dr Genius an interactive geometry software
 * (C) Copyright Hilaire Fernandes  2003
 * hilaire@ofset.org 
 * 
 *
 *
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public Licences as by published
 * by the Free Software Foundation; either version 2; or (at your option)
 * any later version
 *
 * This program is distributed in the hope that it will entertaining,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of 
 * MERCHANTABILTY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
 * Publis License for more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with this program; if not, write to the Free Software Foundation, Inc.
 * 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#ifndef DRGENIUS_VIEW_H
#define DRGENIUS_VIEW_H


#include <gtk/gtk.h>
#include "xmlinclude.h"


enum drgeniusViewType
{
  FIGURE_CHILD,
  EDITOR_CHILD
};

class drgeniusView
{
 public:
  drgeniusView (drgeniusViewType type, gboolean save);
  virtual ~ drgeniusView ();
  virtual gboolean save (gchar *filename);
  virtual gboolean saveNode (xmlNodePtr tree) = 0;
  virtual gboolean undo (gint n);
  virtual gboolean redo (gint n);
  virtual gboolean undoActive ();
  virtual gboolean redoActive ();
  void setToolbar (GtkWidget *w);
  GtkWidget * toolbar ();
  // Force the view to update its user interface (show/hide tools)
  // according to its state defined into the document object (ie
  // figure, etc.)
  virtual void updateUserInterface () = 0;
  virtual gpointer createWidgetView () = 0;
  virtual GtkWidget * widgetView () = 0;

  gboolean supportsSave ();
  drgeniusViewType childType ();
  gchar * filename ();
  gchar * name ();
  void setName (const gchar *name);
  void setFilename (const gchar *name);
 protected:
  drgeniusViewType p_childType;
  gboolean p_supportsSave;
  gchar *p_filename, *p_name;
  GtkWidget *p_toolbar;
};

#endif /* DRGENIUS_VIEW_H */