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

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

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

revision 1623 by persson, Fri Jan 4 19:42:45 2008 UTC revision 2151 by persson, Sun Nov 21 12:38:41 2010 UTC
# Line 1  Line 1 
1  /*                                                         -*- c++ -*-  /*                                                         -*- c++ -*-
2   * Copyright (C) 2006-2008 Andreas Persson   * Copyright (C) 2006-2010 Andreas Persson
3   *   *
4   * This program is free software; you can redistribute it and/or   * This program is free software; you can redistribute it and/or
5   * modify it under the terms of the GNU General Public License as   * modify it under the terms of the GNU General Public License as
# Line 23  Line 23 
23  #include <vector>  #include <vector>
24    
25  #include <gtkmm/drawingarea.h>  #include <gtkmm/drawingarea.h>
 #include <gdkmm/colormap.h>  
26  #include <gtkmm/uimanager.h>  #include <gtkmm/uimanager.h>
27  #include <gdkmm/window.h>  #include <gdkmm/window.h>
28  #include <gtkmm/menu.h>  #include <gtkmm/menu.h>
29    
30  #include "dimensionmanager.h"  #include "dimensionmanager.h"
31    #include "paramedit.h"
32    
33  #include <gig.h>  #include <gig.h>
34    
35    enum virt_keyboard_mode_t {
36        VIRT_KEYBOARD_MODE_NORMAL,
37        VIRT_KEYBOARD_MODE_CHORD
38    };
39    
40  class SortedRegions {  class SortedRegions {
41  private:  private:
42      std::vector<gig::Region*> regions;      std::vector<gig::Region*> regions;
# Line 63  public: Line 68  public:
68      sigc::signal<void, gig::Region*>& signal_region_to_be_changed();      sigc::signal<void, gig::Region*>& signal_region_to_be_changed();
69      sigc::signal<void, gig::Region*>& signal_region_changed_signal();      sigc::signal<void, gig::Region*>& signal_region_changed_signal();
70    
71        sigc::signal<void, int/*key*/, int/*velocity*/>& signal_keyboard_key_hit();
72        sigc::signal<void, int/*key*/, int/*velocity*/>& signal_keyboard_key_released();
73    
74      gig::Region* get_region() { return region; }      gig::Region* get_region() { return region; }
75    
76        void on_note_on_event(int key, int velocity);
77        void on_note_off_event(int key, int velocity);
78    
79        Gtk::HBox m_VirtKeybPropsBox;
80    
81  protected:  protected:
     virtual void on_realize();  
82      virtual bool on_expose_event(GdkEventExpose* e);      virtual bool on_expose_event(GdkEventExpose* e);
83      virtual void on_size_request(GtkRequisition* requisition);      virtual void on_size_request(GtkRequisition* requisition);
84      virtual bool on_button_press_event(GdkEventButton* event);      virtual bool on_button_press_event(GdkEventButton* event);
# Line 75  protected: Line 87  protected:
87    
88      gig::Region* get_region(int key);      gig::Region* get_region(int key);
89    
90      Glib::RefPtr<Gdk::GC> gc;      Gdk::Color activeKeyColor, red, grey1, white, black;
     Gdk::Color blue, red, grey1;  
   
     void draw_region(int from, int to, const Gdk::Color& color);  
91    
92      sigc::signal<void> region_selected;      sigc::signal<void> region_selected;
93      sigc::signal<void> instrument_changed;      sigc::signal<void> instrument_changed;
# Line 89  protected: Line 98  protected:
98      sigc::signal<void, gig::Region*> region_to_be_changed_signal;      sigc::signal<void, gig::Region*> region_to_be_changed_signal;
99      sigc::signal<void, gig::Region*> region_changed_signal;      sigc::signal<void, gig::Region*> region_changed_signal;
100    
101        sigc::signal<void, int/*key*/, int/*velocity*/> keyboard_key_hit_signal;
102        sigc::signal<void, int/*key*/, int/*velocity*/> keyboard_key_released_signal;
103    
104      gig::Instrument* instrument;      gig::Instrument* instrument;
105      gig::Region* region;      gig::Region* region;
106      SortedRegions regions;      SortedRegions regions;
107    
108        bool is_black_key(int key);
109        void draw_key(int key, const Gdk::Color& color);
110        void draw_digit(int key);
111      void motion_resize_region(int x, int y);      void motion_resize_region(int x, int y);
112      void motion_move_region(int x, int y);      void motion_move_region(int x, int y);
113    
# Line 137  protected: Line 152  protected:
152      Glib::RefPtr<Gtk::ActionGroup> actionGroup;      Glib::RefPtr<Gtk::ActionGroup> actionGroup;
153      Glib::RefPtr<Gtk::UIManager> uiManager;      Glib::RefPtr<Gtk::UIManager> uiManager;
154    
155        // properties of the virtaul keyboard
156        ChoiceEntry<virt_keyboard_mode_t> m_VirtKeybModeChoice;
157        Gtk::Label m_VirtKeybVelocityLabelDescr;
158        Gtk::Label m_VirtKeybVelocityLabel;
159        Gtk::Label m_VirtKeybOffVelocityLabelDescr;
160        Gtk::Label m_VirtKeybOffVelocityLabel;
161        int currentActiveKey;
162    
163      DimensionManager dimensionManager;      DimensionManager dimensionManager;
164  };  };
165    

Legend:
Removed from v.1623  
changed lines
  Added in v.2151

  ViewVC Help
Powered by ViewVC