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

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

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

revision 2246 by persson, Fri Aug 19 10:55:41 2011 UTC revision 2536 by schoenebeck, Mon Apr 21 17:49:17 2014 UTC
# Line 1  Line 1 
1  /*  /*
2   * Copyright (C) 2006-2011 Andreas Persson   * Copyright (C) 2006-2014 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 20  Line 20 
20  #include "regionchooser.h"  #include "regionchooser.h"
21    
22  #include <algorithm>  #include <algorithm>
 #include <sstream>  
23    
24  #include <cairomm/context.h>  #include <cairomm/context.h>
25  #include <gdkmm/general.h>  #include <gdkmm/general.h>
# Line 155  RegionChooser::RegionChooser() : Line 154  RegionChooser::RegionChooser() :
154      keyboard_key_released_signal.connect(      keyboard_key_released_signal.connect(
155          sigc::mem_fun(*this, &RegionChooser::on_note_off_event)          sigc::mem_fun(*this, &RegionChooser::on_note_off_event)
156      );      );
157        set_tooltip_text(_("Right click here for adding new region. Use mouse pointer for moving (dragging) or resizing existing regions (by pointing at region's boundary). Right click on an existing region for more actions."));
158  }  }
159    
160  RegionChooser::~RegionChooser()  RegionChooser::~RegionChooser()
161  {  {
162  }  }
163    
 template<class T> inline std::string ToString(T o) {  
     std::stringstream ss;  
     ss << o;  
     return ss.str();  
 }  
   
164  void RegionChooser::invalidate_key(int key) {  void RegionChooser::invalidate_key(int key) {
165      const int h = KEYBOARD_HEIGHT;      const int h = KEYBOARD_HEIGHT;
166      const int w = get_width() - 1;      const int w = get_width() - 1;
# Line 219  bool RegionChooser::on_draw(const Cairo: Line 213  bool RegionChooser::on_draw(const Cairo:
213      Gdk::Cairo::set_source_rgba(cr, bg);      Gdk::Cairo::set_source_rgba(cr, bg);
214      cr->paint();      cr->paint();
215    
     const int w = get_width() - 1;  
   
216      if (clipy2 > h1) {      if (clipy2 > h1) {
217          draw_keyboard(cr, clipx1, clipx2);          draw_keyboard(cr, clipx1, clipx2);
218      }      }
# Line 338  void RegionChooser::draw_regions(const C Line 330  void RegionChooser::draw_regions(const C
330          cr->line_to(x + 0.5, h1 - 1);          cr->line_to(x + 0.5, h1 - 1);
331          cr->stroke();          cr->stroke();
332      }      }
333    
334        // if there is no region yet, show the user some hint text that he may
335        // right click on this area to create a new region
336        if (!regions.first()) {
337            Glib::RefPtr<Pango::Context> context = get_pango_context();
338            Glib::RefPtr<Pango::Layout> layout = Pango::Layout::create(context);
339            layout->set_alignment(Pango::ALIGN_CENTER);
340            layout->set_text(Glib::ustring("*** ") + _("Right click here to create a region.") + " ***");
341            layout->set_width(get_width() * Pango::SCALE);
342            Gdk::Cairo::set_source_rgba(cr, red);
343    #if (GTKMM_MAJOR_VERSION == 2 && GTKMM_MINOR_VERSION < 16) || GTKMM_MAJOR_VERSION < 2
344            pango_cairo_show_layout(cr->cobj(), layout->gobj());
345    #else
346            layout->show_in_cairo_context(cr);
347    #endif
348        }
349  }  }
350    
351  bool RegionChooser::is_black_key(int key) {  bool RegionChooser::is_black_key(int key) {

Legend:
Removed from v.2246  
changed lines
  Added in v.2536

  ViewVC Help
Powered by ViewVC