]> Pileus Git - ~andy/gtk/blobdiff - tests/testvolumebutton.c
Change FSF Address
[~andy/gtk] / tests / testvolumebutton.c
index 3e316ebd21ba57ed69e4fa8f7a14ed40c432d4d3..30697c5c661bf279508716e2b3f1e03ca0052a63 100644 (file)
  * Library General Public License for more details.
  *
  * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <gtk/gtk.h>
 
 static void
 value_changed (GtkWidget *button,
-              gdouble volume,
-              gpointer user_data)
+               gdouble volume,
+               gpointer user_data)
 {
-       g_message ("volume changed to %f", volume);
+  g_message ("volume changed to %f", volume);
+}
+
+static void
+toggle_orientation (GtkWidget *button,
+                    GtkWidget *scalebutton)
+{
+  if (gtk_orientable_get_orientation (GTK_ORIENTABLE (scalebutton)) ==
+      GTK_ORIENTATION_HORIZONTAL)
+    {
+      gtk_orientable_set_orientation (GTK_ORIENTABLE (scalebutton),
+                                        GTK_ORIENTATION_VERTICAL);
+    }
+  else
+    {
+      gtk_orientable_set_orientation (GTK_ORIENTABLE (scalebutton),
+                                        GTK_ORIENTATION_HORIZONTAL);
+    }
 }
 
 static void
 response_cb (GtkDialog *dialog,
-            gint       arg1,
-            gpointer   user_data)
+             gint       arg1,
+             gpointer   user_data)
 {
-       gtk_widget_destroy (GTK_WIDGET (dialog));
+  gtk_widget_destroy (GTK_WIDGET (dialog));
 }
 
 static gboolean
 show_error (gpointer data)
 {
-       GtkWindow *window = (GtkWindow *) data;
-       GtkWidget *dialog;
-
-       g_message ("showing error");
-
-       dialog = gtk_message_dialog_new (window,
-                                        GTK_DIALOG_MODAL,
-                                        GTK_MESSAGE_INFO,
-                                        GTK_BUTTONS_CLOSE,
-                                        "This should have unbroken the grab");
-       g_signal_connect (G_OBJECT (dialog),
-                         "response",
-                         G_CALLBACK (response_cb), NULL);
-       gtk_widget_show (dialog);
-
-       return FALSE;
+  GtkWindow *window = (GtkWindow *) data;
+  GtkWidget *dialog;
+
+  g_message ("showing error");
+
+  dialog = gtk_message_dialog_new (window,
+                                   GTK_DIALOG_MODAL,
+                                   GTK_MESSAGE_INFO,
+                                   GTK_BUTTONS_CLOSE,
+                                   "This should have unbroken the grab");
+  g_signal_connect (G_OBJECT (dialog),
+                    "response",
+                    G_CALLBACK (response_cb), NULL);
+  gtk_widget_show (dialog);
+
+  return G_SOURCE_REMOVE;
 }
 
-int main (int argc, char **argv)
+int
+main (int    argc,
+      char **argv)
 {
-       GtkWidget *window;
-       GtkWidget *button;
+  GtkWidget *window;
+  GtkWidget *button;
+  GtkWidget *button2;
+  GtkWidget *button3;
+  GtkWidget *box;
 
-       gtk_init (&argc, &argv);
+  gtk_init (&argc, &argv);
 
-       window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
-       button = gtk_volume_button_new ();
-       g_signal_connect (G_OBJECT (button),
-                         "value-changed",
-                         G_CALLBACK (value_changed), NULL);
-       gtk_container_add (GTK_CONTAINER (window), button);
+  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+  button = gtk_volume_button_new ();
+  button2 = gtk_volume_button_new ();
+  box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
 
-       gtk_widget_show_all (window);
-       gtk_button_clicked (GTK_BUTTON (button));
-       g_timeout_add (4000, (GSourceFunc) show_error, window);
+  g_signal_connect (G_OBJECT (button), "value-changed",
+                    G_CALLBACK (value_changed),
+                    NULL);
 
-       gtk_main ();
+  gtk_container_add (GTK_CONTAINER (window), box);
+  gtk_container_add (GTK_CONTAINER (box), button);
+  gtk_container_add (GTK_CONTAINER (box), button2);
 
-       return 0;
-}
+  button3 = gtk_button_new_with_label ("Toggle orientation");
+  gtk_container_add (GTK_CONTAINER (box), button3);
+
+  g_signal_connect (G_OBJECT (button3), "clicked",
+                    G_CALLBACK (toggle_orientation),
+                    button);
+  g_signal_connect (G_OBJECT (button3), "clicked",
+                    G_CALLBACK (toggle_orientation),
+                    button2);
 
+  gtk_widget_show_all (window);
+  gtk_button_clicked (GTK_BUTTON (button));
+  g_timeout_add (4000, (GSourceFunc) show_error, window);
+
+  gtk_main ();
+
+  return 0;
+}