/[svn]/gigedit/trunk/src/gigedit/scripteditor.h
ViewVC logotype

Diff of /gigedit/trunk/src/gigedit/scripteditor.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2886 by schoenebeck, Fri Apr 22 15:55:08 2016 UTC revision 2901 by schoenebeck, Mon May 2 16:10:56 2016 UTC
# Line 11  Line 11 
11  #include <gig.h>  #include <gig.h>
12  #include <gtkmm.h>  #include <gtkmm.h>
13  #include <config.h>  #include <config.h>
   
14  #include "compat.h"  #include "compat.h"
15    #include <gtkmm/uimanager.h>
16    #include <gtkmm/actiongroup.h>
17    #include "ManagedWindow.h"
18    
19  // Should we use a very simple (and buggy) local NKSP syntax parser, or should  // Should we use a very simple (and buggy) local NKSP syntax parser, or should
20  // we rather use the full features NKSP syntax highlighting backend from  // we rather use the full featured NKSP syntax highlighting backend from
21  // liblinuxsampler for syntax highlighting of this text editor?  // liblinuxsampler for syntax highlighting of this text editor?
22  #if HAVE_LINUXSAMPLER  #if HAVE_LINUXSAMPLER
23  # define USE_LS_SCRIPTVM 1  # define USE_LS_SCRIPTVM 1
24  #endif  #endif
25    
26  #if USE_LS_SCRIPTVM  #if USE_LS_SCRIPTVM
27  namespace LinuxSampler {  # include <linuxsampler/scriptvm/ScriptVM.h>
28      class ScriptVM;  # include <linuxsampler/scriptvm/ScriptVMFactory.h>
 }  
29  #endif  #endif
30    
31  class ScriptEditor : public Gtk::Window {  class ScriptEditor : public ManagedWindow {
32  public:  public:
33      ScriptEditor();      ScriptEditor();
34     ~ScriptEditor();     ~ScriptEditor();
35      void setScript(gig::Script* script);      void setScript(gig::Script* script);
36    
37        // implementation for abstract methods of interface class "ManagedWindow"
38        virtual Settings::Property<int>* windowSettingX() { return &Settings::singleton()->scriptEditorWindowX; }
39        virtual Settings::Property<int>* windowSettingY() { return &Settings::singleton()->scriptEditorWindowY; }
40        virtual Settings::Property<int>* windowSettingWidth() { return &Settings::singleton()->scriptEditorWindowW; }
41        virtual Settings::Property<int>* windowSettingHeight() { return &Settings::singleton()->scriptEditorWindowH; }
42    
43  protected:  protected:
44      Gtk::VBox m_vbox;      Gtk::VBox m_vbox;
45        Gtk::HBox m_footerHBox;
46        Gtk::HBox m_statusHBox;
47      Gtk::HButtonBox m_buttonBox;      Gtk::HButtonBox m_buttonBox;
48      Gtk::ScrolledWindow m_scrolledWindow;      Gtk::ScrolledWindow m_scrolledWindow;
49      Glib::RefPtr<Gtk::TextBuffer> m_textBuffer;      Glib::RefPtr<Gtk::TextBuffer> m_textBuffer;
# Line 46  protected: Line 56  protected:
56      Glib::RefPtr<Gtk::TextBuffer::Tag> m_stringTag;      Glib::RefPtr<Gtk::TextBuffer::Tag> m_stringTag;
57      Glib::RefPtr<Gtk::TextBuffer::Tag> m_commentTag;      Glib::RefPtr<Gtk::TextBuffer::Tag> m_commentTag;
58      Glib::RefPtr<Gtk::TextBuffer::Tag> m_preprocTag;      Glib::RefPtr<Gtk::TextBuffer::Tag> m_preprocTag;
59        Glib::RefPtr<Gtk::TextBuffer::Tag> m_errorTag;
60        Glib::RefPtr<Gtk::TextBuffer::Tag> m_warningTag;
61      Gtk::TextView m_textView;      Gtk::TextView m_textView;
62        Gtk::Image m_statusImage;
63        Gtk::Label m_statusLabel;
64      Gtk::Button m_applyButton;      Gtk::Button m_applyButton;
65      Gtk::Button m_cancelButton;      Gtk::Button m_cancelButton;
66    
67        Glib::RefPtr<Gdk::Pixbuf> m_warningIcon;
68        Glib::RefPtr<Gdk::Pixbuf> m_errorIcon;
69        Glib::RefPtr<Gdk::Pixbuf> m_successIcon;
70    
71        Glib::RefPtr<Gtk::ActionGroup> m_actionGroup;
72        Glib::RefPtr<Gtk::UIManager> m_uiManager;
73    
74      gig::Script* m_script;      gig::Script* m_script;
75  #if USE_LS_SCRIPTVM  #if USE_LS_SCRIPTVM
76      LinuxSampler::ScriptVM* m_vm;      LinuxSampler::ScriptVM* m_vm;
77        std::vector<LinuxSampler::ParserIssue> m_issues;
78        std::vector<LinuxSampler::ParserIssue> m_errors;
79        std::vector<LinuxSampler::ParserIssue> m_warnings;
80  #endif  #endif
81    
82        bool isModified() const;
83      void onButtonCancel();      void onButtonCancel();
84      void onButtonApply();      void onButtonApply();
85      void onWindowHide();      void onWindowHide();
# Line 63  protected: Line 88  protected:
88      void onModifiedChanged();      void onModifiedChanged();
89  #if USE_LS_SCRIPTVM  #if USE_LS_SCRIPTVM
90      void updateSyntaxHighlightingByVM();      void updateSyntaxHighlightingByVM();
91        void updateParserIssuesByVM();
92        LinuxSampler::ScriptVM* GetScriptVM();
93        void updateIssueTooltip(GdkEventMotion* e);
94        void updateStatusBar();
95  #endif  #endif
96        bool on_motion_notify_event(GdkEventMotion* e);
97        bool onWindowDelete(GdkEventAny* e);
98  };  };
99    
100  #endif // GIGEDIT_SCRIPTEDITOR_H  #endif // GIGEDIT_SCRIPTEDITOR_H

Legend:
Removed from v.2886  
changed lines
  Added in v.2901

  ViewVC Help
Powered by ViewVC