00001 #ifndef MATERIAL_DEFINITION_VIEW_H_ 00002 #define MATERIAL_DEFINITION_VIEW_H_ 00003 00004 #include <string> 00005 #include "gtkutil/SourceView.h" 00006 typedef struct _GtkWidget GtkWidget; 00007 00008 namespace ui 00009 { 00010 class MaterialDefinitionView 00011 { 00012 // The material which should be previewed 00013 std::string _material; 00014 00015 // The top-level widget 00016 GtkWidget* _vbox; 00017 00018 GtkWidget* _materialName; 00019 GtkWidget* _filename; 00020 00021 // The actual code view 00022 gtkutil::SourceView _view; 00023 00024 public: 00025 MaterialDefinitionView (); 00026 00027 // Returns the topmost widget for packing this view into a parent container 00028 GtkWidget* getWidget (); 00029 00030 void setMaterial (const std::string& material); 00031 00032 void update (); 00033 00034 void append (const std::string& append); 00035 00036 void save (); 00037 }; 00038 00039 } // namespace ui 00040 00041 #endif /* MATERIAL_DEFINITION_VIEW_H_ */