[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [gnugo-devel] cool view.pike feature
From: |
Arend Bayer |
Subject: |
Re: [gnugo-devel] cool view.pike feature |
Date: |
Wed, 28 Sep 2005 19:22:16 +0200 (CEST) |
> By the way, is anybody not yet using single_window_mode (the default)?
> It would ease code maintainance if we could remove the mode with
> separate windows.
Which would be this patch.
Arend
Index: regression/view.pike
===================================================================
RCS file: /cvsroot/gnugo/gnugo/regression/view.pike,v
retrieving revision 1.21
diff -u -p -r1.21 view.pike
--- regression/view.pike 28 Sep 2005 15:55:16 -0000 1.21
+++ regression/view.pike 28 Sep 2005 17:03:23 -0000
@@ -1218,8 +1218,6 @@ class RegressionViewer
class Controller
{
- static int single_window_mode = 1;
-
array(RegressionViewer) viewers = ({});
array(GTK.Widget) viewer_title_widgets = ({});
@@ -1316,38 +1314,31 @@ class Controller
controller_notebook = GTK.Notebook();
controller_notebook->set_tab_pos(GTK.POS_LEFT);
- if (single_window_mode) {
- gobans_notebook = (GTK.Notebook()
- ->set_show_tabs(0));
- data_notebook = (GTK.Notebook()
- ->set_show_tabs(0)
- ->set_show_border(0));
- selector_notebook = (GTK.Notebook()
- ->set_tab_pos(GTK.POS_TOP));
- selector_notebook->signal_connect_new("switch_page", change_engine);
-
- GTK.Widget main_window_contents
- = (GTK.Vbox(0, 0)
- ->pack_start(GTK.Hbox(0, 24)
- ->pack_start(testcase_label, 0, 0, 24)
- ->pack_start(GTK.Alignment(0.0, 0.5, 0.0, 0.0)
- ->add(selector_notebook),
- 0, 0, 0),
- 0, 0, 0)
- ->add(GTK.Hbox(0, 2)
- ->add(GTK.Vbox(0, 6)
- ->pack_start(controller_notebook, 0, 0, 0)
- ->add(data_notebook))
- ->pack_start(GTK.Alignment(0.0, 0.0, 0.0, 0.0)
- ->add(gobans_notebook),
- 0, 0, 0)));
- main_window->add(main_window_contents);
- }
- else {
- main_window->add(GTK.Vbox(0, 0)
- ->add(testcase_label)
- ->add(controller_notebook));
- }
+ gobans_notebook = (GTK.Notebook()
+ ->set_show_tabs(0));
+ data_notebook = (GTK.Notebook()
+ ->set_show_tabs(0)
+ ->set_show_border(0));
+ selector_notebook = (GTK.Notebook()
+ ->set_tab_pos(GTK.POS_TOP));
+ selector_notebook->signal_connect_new("switch_page", change_engine);
+
+ GTK.Widget main_window_contents
+ = (GTK.Vbox(0, 0)
+ ->pack_start(GTK.Hbox(0, 24)
+ ->pack_start(testcase_label, 0, 0, 24)
+ ->pack_start(GTK.Alignment(0.0, 0.5, 0.0, 0.0)
+ ->add(selector_notebook),
+ 0, 0, 0),
+ 0, 0, 0)
+ ->add(GTK.Hbox(0, 2)
+ ->add(GTK.Vbox(0, 6)
+ ->pack_start(controller_notebook, 0, 0, 0)
+ ->add(data_notebook))
+ ->pack_start(GTK.Alignment(0.0, 0.0, 0.0, 0.0)
+ ->add(gobans_notebook),
+ 0, 0, 0)));
+ main_window->add(main_window_contents);
main_window->set_title(testcases[0]);
main_window->signal_connect_new("destroy", quit);
@@ -1504,11 +1495,9 @@ class Controller
engine_path_entry->set_text("../interface/gnugo");
engine_path_entry->set_editable(1);
- if (single_window_mode) {
- engine_name_entry = GTK.Entry();
- engine_name_entry->set_text("Engine 2");
- engine_name_entry->set_editable(1);
- }
+ engine_name_entry = GTK.Entry();
+ engine_name_entry->set_text("Engine 2");
+ engine_name_entry->set_editable(1);
engine_path_entry->signal_connect_new("activate", select_new_engine);
new_engine_button = GTK.Button("Start new engine");
@@ -1582,8 +1571,7 @@ class Controller
GTK.Widget engines_page
= (GTK.Vbox(0, 12)
->pack_start(engine_path_entry, 0, 0, 0));
- if (single_window_mode)
- engines_page->pack_start(engine_name_entry, 0, 0, 0);
+ engines_page->pack_start(engine_name_entry, 0, 0, 0);
engines_page->pack_start(GTK.Alignment(1.0, 0.0, 0.0, 0.0)
->add(new_engine_button), 0, 0, 0)
->pack_start(new_testcase_entry, 0, 0, 0)
@@ -1633,68 +1621,42 @@ class Controller
add_regression_viewer(
RegressionViewer(new_engine, complete_testcase,
testcase_command, button_pressed_on_a_board,
- (single_window_mode ?
- engine_name_entry->get_text() : ""),
+ engine_name_entry->get_text(),
this_object()));
}
- if (single_window_mode) {
- engine_name_entry->set_text(sprintf("Engine %d",
- sizeof(viewers) + 1));
- }
+ engine_name_entry->set_text(sprintf("Engine %d", sizeof(viewers) + 1));
}
static void add_regression_viewer(RegressionViewer viewer)
{
viewers += ({ viewer });
- if (single_window_mode) {
- viewer->goban_widget->show_all();
- gobans_notebook->append_page(viewer->goban_widget, 0);
-
- GTK.Widget title_label = GTK.Label("");
- viewer_title_widgets += ({ title_label });
-
- GTK.Widget data_page = (GTK.Vbox(0, 2)
- ->pack_start(title_label, 0, 0, 0)
- ->add(viewer->scrolled_data_window)
- ->show_all());
- data_notebook->append_page(data_page, 0);
-
- selector_notebook
- ->append_page((GTK.Alignment(0.0, 0.5, 0.0, 0.0)
- ->set_border_width(4)
- ->add(GTK.Label(viewer->engine->command_line))),
- GTK.Label(viewer->name));
- selector_notebook->show_all();
- selector_notebook->set_page(sizeof(viewers) - 1);
- }
- else {
- GTK.Widget board_window = GTK.Window(GTK.WindowToplevel);
- board_window->signal_connect_new("destroy", quit);
+ viewer->goban_widget->show_all();
+ gobans_notebook->append_page(viewer->goban_widget, 0);
- board_window->add(viewer->goban_widget);
- board_window->set_title(testcase_name);
- board_window->show_all();
-
- GTK.Widget data_window = GTK.Window(GTK.WindowToplevel);
- viewer->scrolled_data_window->set_usize(300,400);
- data_window->add(viewer->scrolled_data_window);
- data_window->set_title(testcase_name);
- data_window->show_all();
+ GTK.Widget title_label = GTK.Label("");
+ viewer_title_widgets += ({ title_label });
- viewer_title_widgets += ({ data_window });
- }
+ GTK.Widget data_page = (GTK.Vbox(0, 2)
+ ->pack_start(title_label, 0, 0, 0)
+ ->add(viewer->scrolled_data_window)
+ ->show_all());
+ data_notebook->append_page(data_page, 0);
+
+ selector_notebook
+ ->append_page((GTK.Alignment(0.0, 0.5, 0.0, 0.0)
+ ->set_border_width(4)
+ ->add(GTK.Label(viewer->engine->command_line))),
+ GTK.Label(viewer->name));
+ selector_notebook->show_all();
+ selector_notebook->set_page(sizeof(viewers) - 1);
}
void set_title(RegressionViewer viewer, string title)
{
for (int k = 0; k < sizeof(viewers); k++) {
- if (viewers[k] == viewer) {
- if (single_window_mode)
- viewer_title_widgets[k]->set_text(title);
- else
- viewer_title_widgets[k]->set_title(title);
- }
+ if (viewers[k] == viewer)
+ viewer_title_widgets[k]->set_text(title);
}
}