Addressing gtk+ 2 deprecations.
[terminatorX.git] / src / tX_extdial.h
1 /*
2     terminatorX - realtime audio scratching software
3     Copyright (C) 1999-2011  Alexander K├Ânig
4  
5     This program is free software; you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation; either version 2 of the License, or
8     (at your option) any later version.
9  
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14  
15     You should have received a copy of the GNU General Public License
16     along with this program; if not, write to the Free Software
17     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  
19     File: tX_extdial.h 
20 */    
21
22 #ifndef _h_tx_extdial_
23 #define _h_tx_extdial_
24
25 #include <gtk/gtk.h>
26 #include "tX_dial.h"
27 #include <stdio.h>
28
29 class tX_seqpar;
30
31 class tX_extdial
32 {
33         GtkWidget *eventbox;
34         GtkWidget *mainbox;
35         GtkWidget *subbox;
36         GtkWidget *dial;
37         GtkWidget *label;
38         GtkWidget *entry;
39         GtkAdjustment *adj;
40         int ignore_adj;
41         float fval;
42         char sval[30];
43
44         private:
45         void s2f() { sscanf(sval, "%f", &fval); /*printf("s2f(): s:%s, f%f\n", sval, fval);*/ };
46         void f2s() { sprintf(sval, "%3f", fval); sval[4]=0; /* printf("f2s(): s:%s, f%f\n", sval, fval); */ };
47         
48         public:
49         tX_extdial(const char *l, GtkAdjustment *a, tX_seqpar * sp, bool text_below=false, bool hide_entry=false);
50         ~tX_extdial();
51         GtkWidget *get_widget() { return eventbox; };
52         GtkWidget *get_dial() { return dial; }
53         GtkWidget *get_entry() { return entry; }
54         
55         static GCallback f_entry(GtkWidget *w, tX_extdial *ed);
56         static GCallback f_adjustment(GtkWidget *w, tX_extdial *ed);
57 };
58
59 #endif