ardour
startup.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2010 Paul Davis
3 
4  This program is free software; you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation; either version 2 of the License, or
7  (at your option) any later version.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program; if not, write to the Free Software
16  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 
18 */
19 
20 #ifndef __gtk2_ardour_startup_h__
21 #define __gtk2_ardour_startup_h__
22 
23 #include <string>
24 
25 #include <gdkmm/pixbuf.h>
26 #include <gtkmm/assistant.h>
27 #include <gtkmm/label.h>
28 #include <gtkmm/drawingarea.h>
29 #include <gtkmm/expander.h>
30 #include <gtkmm/box.h>
31 #include <gtkmm/radiobutton.h>
32 #include <gtkmm/filechooserbutton.h>
33 #include <gtkmm/scrolledwindow.h>
34 #include <gtkmm/treeview.h>
35 #include <gtkmm/treestore.h>
36 #include <gtkmm/checkbutton.h>
37 #include <gtkmm/table.h>
38 #include <gtkmm/frame.h>
39 #include <gtkmm/spinbutton.h>
40 #include <gtkmm/liststore.h>
41 #include <gtkmm/combobox.h>
42 
43 #include "ardour/utils.h"
44 
45 class EngineControl;
46 
47 class ArdourStartup : public Gtk::Assistant {
48  public:
49  ArdourStartup ();
50  ~ArdourStartup ();
51 
52  static bool required ();
53 
54  gint response () const {
55  return _response;
56  }
57 
58  private:
59  gint _response;
61  bool new_user;
62 
63  void on_apply ();
64  void on_cancel ();
65  bool on_delete_event (GdkEventAny*);
66 
68 
69  Glib::RefPtr<Gdk::Pixbuf> icon_pixbuf;
70 
71  void setup_new_user_page ();
72  Glib::RefPtr<Gdk::Pixbuf> splash_pixbuf;
73  Gtk::DrawingArea splash_area;
74  bool splash_expose (GdkEventExpose* ev);
75 
77  void config_changed ();
78 
79  /* first page */
80  Gtk::FileChooserButton* default_dir_chooser;
81  void default_dir_changed();
82  void setup_first_page ();
83  Gtk::FileChooserButton new_folder_chooser;
84 
85  /* monitoring choices */
86 
87  Gtk::VBox mon_vbox;
88  Gtk::Label monitor_label;
89  Gtk::RadioButton monitor_via_hardware_button;
90  Gtk::RadioButton monitor_via_ardour_button;
92 
93  /* monitor section choices */
94 
95  Gtk::VBox mon_sec_vbox;
97  Gtk::RadioButton use_monitor_section_button;
98  Gtk::RadioButton no_monitor_section_button;
100 
101  /* final page */
102 
103  void setup_final_page ();
104  Gtk::Label final_page;
105 
106  /* always there */
107 
108  Glib::RefPtr<Pango::Layout> layout;
109 
110  /* page indices */
111 
118 
119  void move_along_now ();
120 };
121 
122 #endif /* __gtk2_ardour_startup_h__ */
gint new_user_page_index
Definition: startup.h:113
void setup_monitoring_choice_page()
Definition: startup.cc:230
gint monitoring_page_index
Definition: startup.h:115
Gtk::Label monitor_label
Definition: startup.h:88
Gtk::RadioButton monitor_via_hardware_button
Definition: startup.h:89
Gtk::Label final_page
Definition: startup.h:104
Gtk::FileChooserButton * default_dir_chooser
Definition: startup.h:80
void setup_monitor_section_choice_page()
Definition: startup.cc:273
void setup_first_page()
bool config_modified
Definition: startup.h:60
gint audio_page_index
Definition: startup.h:112
void config_changed()
Definition: startup.cc:183
void default_dir_changed()
Definition: startup.cc:174
gint response() const
Definition: startup.h:54
Gtk::RadioButton no_monitor_section_button
Definition: startup.h:98
void setup_final_page()
Definition: startup.cc:343
void setup_new_user_page()
Definition: startup.cc:138
void move_along_now()
Definition: startup.cc:413
bool splash_expose(GdkEventExpose *ev)
Glib::RefPtr< Gdk::Pixbuf > icon_pixbuf
Definition: startup.h:69
gint _response
Definition: startup.h:59
static bool required()
Definition: startup.cc:116
void setup_first_time_config_page()
Definition: startup.cc:189
bool on_delete_event(GdkEventAny *)
Definition: startup.cc:363
void on_cancel()
Definition: startup.cc:356
void on_apply()
Definition: startup.cc:371
Gtk::VBox mon_sec_vbox
Definition: startup.h:95
Glib::RefPtr< Gdk::Pixbuf > splash_pixbuf
Definition: startup.h:72
gint monitor_section_page_index
Definition: startup.h:116
bool new_user
Definition: startup.h:61
Gtk::RadioButton monitor_via_ardour_button
Definition: startup.h:90
Glib::RefPtr< Pango::Layout > layout
Definition: startup.h:108
Gtk::VBox mon_vbox
Definition: startup.h:87
Gtk::Label monitor_section_label
Definition: startup.h:96
Gtk::FileChooserButton new_folder_chooser
Definition: startup.h:83
Gtk::RadioButton use_monitor_section_button
Definition: startup.h:97
Gtk::DrawingArea splash_area
Definition: startup.h:73
gint default_folder_page_index
Definition: startup.h:114
gint final_page_index
Definition: startup.h:117
static ArdourStartup * the_startup
Definition: startup.h:67