gtk: v-ruler signal-connect

Günther Montag <[email protected]>
Newsgroups gmane.linux.suse.programming,gmane.linux.hams.hfterm.devel
Message-ID <[email protected]>
Hallo Freunde

im Frequenz-Spektrum meines Amateurfunk-Programms
ist rechts ein vruler, ein Lineal mit Maßeinteilung, mit 
einem Zeigerchen, das sich auch wunderschön bewegt wenn ich 
mit der Maus dfarÃŒberfahre.

... snip

vruler1 = gtk_vruler_new ();
  gtk_widget_set_name (vruler1, "vruler1");
  gtk_widget_ref (vruler1);
  gtk_object_set_data_full (GTK_OBJECT (wspec), "vruler1", 
vruler1,
                            (GtkDestroyNotify) 
gtk_widget_unref);
  gtk_widget_show (vruler1);
  gtk_table_attach (GTK_TABLE (table9), vruler1, 1, 2, 0, 1,
                    (GtkAttachOptions) (GTK_EXPAND | 
GTK_FILL),
                    (GtkAttachOptions) (GTK_FILL), 0, 0);
  gtk_ruler_set_range (GTK_RULER (vruler1), 0, 10, 4.24479, 
10);

... snap

Ich wÃŒrde gerne durch Klick darauf den Stand des Zeigers als 
Wert fÃŒr meine squelch-Funktion gewinnen (schwache Signale 
nicht ausgeben).
Wie geht das? Geht es ÃŒberhaupt?

Im Spectrum selbst ist eine gut gehende Funktion fÃŒr eine 
Àhnliche Aufgabe, sie wird durch gtk_signal_connect 
aufgerufen: Sie holt den x-Wert des events heraus.

... snip 

gboolean on_spec_button_press_event(GtkWidget *widget, 
GdkEventButton *event, gpointer user_data)
{
	unsigned int freq;
	static int shift = 0;
	static unsigned int freq1 = 0, freq2 = 0;
	static int clickcount = 0;
	int usershift = 0;

	shift = get_freq_shift();	
	freq = ((SRATE/2) * event->x + SPECTRUM_WIDTH/2) 
/SPECTRUM_WIDTH;

	if (shift) {
	    switch (event->button) {
		case 1:
		    set_fsk_freq(freq, freq+shift);
		    break;

		case 2:
		    set_fsk_freq(freq-shift/2, freq+shift/2);
		    break;

		case 3:
		    set_fsk_freq(freq-shift, freq);
		    break;
	    }
	return FALSE;
	}
	
..... snap 


aber es gelang mir nicht, Àhnlichen Code fÌr den Ruler und 
seinen y-Wert zum Laufen zu bringen. 

-- 
GÃŒnther Montag
[email protected]


-- 
Um die Liste abzubestellen, schicken Sie eine Mail an:
    [email protected]
Um eine Liste aller verfÃŒgbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.