t_army_dialog_garrison::t_army_dialog_garrison( t_ownable_garrisonable_adv_object* garrison, t_army* adjacent_army,
												t_adventure_frame* adventure_frame,	
												t_creature_array * selected_army, int selected_slot )
	: t_army_dialog_base( garrison, adjacent_army, adventure_frame, selected_slot ),
	  m_garrison( garrison )
{
	create_buttons();
	create_creature_windows();
	create_icons();
	create_text_boxes();
	check_for_allied();

	// Crude hack to handle no-remove garrisons; out of time to do this right
	if ( !m_garrison->can_remove_garrison() )
	{
		m_army_window->set_allow_drags( false );

		if ( m_adjacent_army_window )
			m_adjacent_army_window->set_allow_drags( false );
	}

	// select first creature
	if (selected_slot < 0)
    {
		select_leader();
    }
	else
    {
        if ( m_creatures == selected_army )
    		m_army_window->select_creature( selected_slot );
        else
    	    m_adjacent_army_window->select_creature( selected_slot );
    }
}
void t_campaign_selection_dialog::initialize()
{
	m_layout = g_layout.get();
//	std::fill( m_enabled, m_enabled + ELEMENTS_OF( m_enabled ), true );
	m_campaign_id = k_standard_campaign_none;

	//////////////////////////////////////////////////////////////////
 	// find dimensions & center
	t_screen_point        origin(0,0);
	t_bitmap_layer const* layer = m_layout->find( "background" );
	t_screen_rect		  rect = layer->get_rect();

	set_bitmap( layer );
	rect += t_screen_point( (get_parent()->get_width() - rect.width()) / 2, 
		                           (get_parent()->get_height() - rect.height()) / 2 );
	move( rect );
	set_drop_shadow();

	//////////////////////////////////////////////////////////////////

	// add title
	t_text_window* window;
	layer = m_layout->find( "title" );
	rect = layer->get_rect();
	window = new t_text_window( get_font( rect.height() ), rect, this, 
		                         k_score_title, t_pixel_24(0,0,0) );
	window->set_center_horizontal();
	window->set_center_vertical();
	window->set_drop_shadow( true, t_pixel_24(200,200,200));

	create_text();
	create_buttons();
	create_icons();
}
示例#3
0
GtkWidget *create_lavrec_layout(GtkWidget *window)
{
	GtkWidget *vbox, *hbox, *hbox2, *hbox3, *vbox2, *table;

	vbox = gtk_vbox_new(FALSE,0);
	hbox = gtk_hbox_new(FALSE,20);
	hbox2 = gtk_hbox_new(FALSE,20);

	tv = gtk_tvplug_new(port);
	if (port == -1)
		exit(1);
	else if (port == 0 && tv != NULL)
	{
		port = GTK_TVPLUG (tv)->port;
		save_config();
	}

	if (tv)
 	{
		hbox3 = create_video_sliders();
		gtk_box_pack_start (GTK_BOX (hbox2), hbox3, TRUE, FALSE, 10);
		gtk_widget_show(hbox3);
	}

	if (tv == NULL)
	{
		//return NULL;
		tv = gtk_event_box_new();
		set_background_color(tv, 0,0,0);
	}
	gtk_widget_set_usize(GTK_WIDGET(tv), tv_width_capture, tv_height_capture);
	gtk_box_pack_start (GTK_BOX (hbox2), tv, TRUE, FALSE, 10);
	gtk_widget_show(tv);

	vbox2 = create_audio_sliders();
	gtk_box_pack_start (GTK_BOX (hbox2), vbox2, TRUE, FALSE, 10);
	gtk_widget_show(vbox2);

	gtk_box_pack_start (GTK_BOX (vbox), hbox2, TRUE, TRUE, 20);
	gtk_widget_show(hbox2);

	vbox2 = create_buttons(gtk_vbox_new(FALSE, 0), window);
	hbox2 = gtk_hbox_new(FALSE, 20);
	gtk_box_pack_start (GTK_BOX (hbox2), vbox2, TRUE, TRUE, 20);
	gtk_widget_show(vbox2);

	table = gtk_table_new (2,9, FALSE);
	create_lavrec_logtable(table);
	gtk_box_pack_start (GTK_BOX (hbox2), table, TRUE, TRUE, 20);
	gtk_widget_show(table);

	gtk_box_pack_start (GTK_BOX (vbox), hbox2, TRUE, TRUE, 20);
	gtk_widget_show(hbox2);

	gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, FALSE, 20);
	gtk_widget_show(vbox);

	return hbox;
}
MainWindow::MainWindow(QWidget *parent) : QDialog(parent)
{
    create_buttons();
    create_tabs();
    create_layout();
    create_actions();
    chosen_file = "";
}
void FORTE_iCreateAdvButton::executeEvent(int pa_nEIID){
  switch (pa_nEIID){
    case scm_nEventREQID:
      create_buttons();
      Q() = gc_advance_button;
      sendOutputEvent(scm_nEventCNFID);
      break;
  }
}
示例#6
0
/*
 * Class:     cbccore_low_Create
 * Method:    create_buttons
 * Signature: ()I
 */
JNIEXPORT jint JNICALL Java_cbccore_low_Create_create_1buttons(JNIEnv *env, jobject obj)
{
#ifdef CBC
    return create_buttons();
#else
    printf("Java_cbccore_low_Create_create_1buttons stub\n");
    return -1;
#endif
}
示例#7
0
static int
create_dialog( void )
{
  int error;
  GtkWidget *hbox, *vbox, *hbox2, *content_area;
  GtkAccelGroup *accel_group;

  gtkui_font font;

  error = gtkui_get_monospaced_font( &font ); if( error ) return error;

  dialog = gtkstock_dialog_new( "Fuse - Debugger",
				G_CALLBACK( delete_dialog ) );
  content_area = gtk_dialog_get_content_area( GTK_DIALOG( dialog ) );

  /* The menu bar */
  error = create_menu_bar( GTK_BOX( content_area ), &accel_group );
  if( error ) return error;

  /* Keyboard shortcuts */
  gtk_window_add_accel_group( GTK_WINDOW( dialog ), accel_group );

  /* Some boxes to contain the things we want to display */
  hbox = gtk_box_new( GTK_ORIENTATION_HORIZONTAL, 0 );
  gtk_box_pack_start( GTK_BOX( content_area ), hbox, TRUE, TRUE, 5 );

  vbox = gtk_box_new( GTK_ORIENTATION_VERTICAL, 5 );
  gtk_box_pack_start( GTK_BOX( hbox ), vbox, TRUE, TRUE, 5 );

  hbox2 = gtk_box_new( GTK_ORIENTATION_HORIZONTAL, 5 );
  gtk_box_pack_start( GTK_BOX( vbox ), hbox2, TRUE, TRUE, 0 );

  /* The main display areas */
  error = create_register_display( GTK_BOX( hbox2 ), font );
  if( error ) return error;

  error = create_memory_map( GTK_BOX( hbox2 ) ); if( error ) return error;

  create_breakpoints( GTK_BOX( vbox ) );
  create_disassembly( GTK_BOX( hbox ), font );
  create_stack_display( GTK_BOX( hbox ), font );
  create_events( GTK_BOX( hbox ) );

  error = create_command_entry( GTK_BOX( content_area ), accel_group );
  if( error ) return error;

  /* The action buttons */

  error = create_buttons( GTK_DIALOG( dialog ), accel_group );
  if( error ) return error;

  gtkui_free_font( font );

  dialog_created = 1;

  return 0;
}
示例#8
0
void WgtAbsoluteBase::setup_ui(QGridLayout *layout)
{
	wgt_base::setup_ui(layout);
	wgt_base::create_buttons_and_spin_boxes(desired_pos_column, inc_move_column);

	create_buttons_and_spin_boxes();
	create_buttons();
	create_step_spinbox();
}
示例#9
0
文件: create.c 项目: CBCJVM/cbc
//this function will update the values for many of the sensor globals above
//serial connection failure codes are
// -1:create_mode, -2:create_wall, -3:create_buttons, -4:create_bumpdrop, -5:create_cliffs,
// -6:create_angle, -7:create_distance, -8:create_velocity, -9:create_read_IR 
int create_sensor_update()
{
	int r=0; // if serial connection times out, bit positions give the functions where it occurred
	r=r-2*create_wall();
	r=r-4*create_buttons();
	r=r-8*create_bumpdrop();
	r=r-16*create_cliffs();
	r=r-32*create_angle();
	r=r-64*create_distance();
	r=r-128*create_velocity();
	return(r);
}
示例#10
0
static void create_library_editor(Editor *e)
{
    GtkWidget *vbox = gtk_vbox_new(FALSE, 0);
    GtkWidget *library_editor = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_gravity(GTK_WINDOW(library_editor), GDK_GRAVITY_CENTER);

    gtk_container_add(GTK_CONTAINER(library_editor), vbox);
    
    gtk_box_pack_start(GTK_BOX(vbox), create_sample_view(e),  TRUE,  TRUE, 0);
    gtk_box_pack_start(GTK_BOX(vbox), create_text_input(e),   FALSE, TRUE, 5);
    gtk_box_pack_start(GTK_BOX(vbox), create_radius_input(e), FALSE, TRUE, 5);
    gtk_box_pack_start(GTK_BOX(vbox), create_buttons(e),      FALSE, TRUE, 5);    

    e->window = library_editor;
}
示例#11
0
static int ethemes_init(void *data, int type, void *ev) {

	E_Response_Theme_Get *e;
	e = ev;
	
	default_theme = (char *) strdup(E17PREFIX "/share/enlightenment/data/themes/default.edj");

	edje_object_file_set(background, default_theme, "widgets/menu/default/background");

	selected_theme = (char *)strdup(e->file);
	e_preview_theme_set(preview, selected_theme);
	ecore_evas_title_set(ee, "eThemes");
	create_buttons();

	_resize_cb(ee);
	
	return 1;
}
示例#12
0
// -------------------------------------------------------------------
// dialog for purchasing buildings in town
// -------------------------------------------------------------------
t_buy_building_window::t_buy_building_window( t_town* town, t_window* parent )
					 : t_window( k_no_transparency, parent ), m_town( town )
{
	m_interface = g_interface.get();
	t_help_block const& help = get_help_block( "town_hall" );

	// put up background
	t_window*             background;
	t_bitmap_layer const* background_layer;

	background_layer = m_interface->find( "background" );
	background = new t_bitmap_layer_window( background_layer, t_screen_point(0,0), this );

    // Text windows.
    t_text_window*  text_window_ptr;
	t_screen_rect   rect;

	rect = m_interface->find( "title" )->get_rect();
	text_window_ptr  = new t_text_window( get_font( rect.height() ), rect, this, "", t_pixel_24(0,0,0) );
    text_window_ptr->set_text ( k_text_town_hall_title );
	text_window_ptr->set_center_horizontal();

	// add OK button
	t_button*             button;
	t_bitmap_layer const* layer;

	layer = m_interface->find( "ok_button" );
	button = new t_button( g_ok_button.get(), layer->get_rect().top_left(), background );
	button->set_click_handler( bound_handler( *this, &t_buy_building_window::close_click ) );
  set_help( button, help, "ok" );

	create_buttons( background );

	m_material_display.init( m_interface, &town->get_map()->get_player(), t_screen_point(0,0),
		                     background );

	// figure out the client coordinates for this window
	// center it
	t_screen_rect background_rect = background->get_client_rect();
	background_rect += t_screen_point( (parent->get_width() - background_rect.width()) / 2, 
		                               (parent->get_height() - background_rect.height()) / 2 );
	init( background_rect );
	set_drop_shadow();
}
示例#13
0
/** \brief Create and initialise widgets for the radios tab. */
GtkWidget *sat_pref_rot_create ()
{
    GtkWidget *vbox;    /* vbox containing the list part and the details part */
    GtkWidget *swin;


    vbox = gtk_vbox_new (FALSE, 10);
    gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);

    /* create rot list and pack into scrolled window */
    create_rot_list ();
    swin = gtk_scrolled_window_new (NULL, NULL);
    gtk_container_add (GTK_CONTAINER (swin), rotlist);

    gtk_box_pack_start (GTK_BOX (vbox), swin, TRUE, TRUE, 0);
    gtk_box_pack_start (GTK_BOX (vbox), create_buttons (), FALSE, FALSE, 0);

    return vbox;
}
示例#14
0
static void
create_command_panel (Widget parent, Dimension app_width,
		      Dimension button_height, Dimension command_hspace,
		      Dimension command_vspace, Dimension command_height)
{
  Widget panel;
  Arg args[10];
  Cardinal n = 0;

  XtSetArg (args[n], XtNwidth, app_width); n++;
  XtSetArg (args[n], XtNmin, command_height); n++;
  XtSetArg (args[n], XtNmax, command_height); n++;
  XtSetArg (args[n], XtNpreferredPaneSize, 2*button_height + 3 * command_vspace);  n++;
  XtSetArg (args[n], XtNhSpace, command_hspace); n++;
  XtSetArg (args[n], XtNvSpace, command_vspace); n++;
  XtSetArg (args[n], XtNallowResize, False); n++;
  panel = XtCreateManagedWidget ("panel", boxWidgetClass, parent, args, n);

  create_buttons (panel);
}
示例#15
0
void t_combat_results_dialog::initialize()
{
	m_layout = g_layout.get();
	m_creatures_lost_layout = k_creature_select_bitmaps.get();

	//////////////////////////////////////////////////////////////////
 	// find dimensions & center
	t_screen_point        origin(0,0);
	t_bitmap_layer const* layer = m_layout->find( "background" );
	t_screen_rect		  rect = layer->get_rect();

	set_bitmap( layer );
	rect += t_screen_point( (get_parent()->get_width() - rect.width()) / 2, 
		                           (get_parent()->get_height() - rect.height()) / 2 );
	move( rect );
	set_drop_shadow();

	//////////////////////////////////////////////////////////////////

	// add title
	std::string           text;

	layer = m_layout->find( "title" );
	rect = layer->get_rect();
	m_title = new t_text_window( get_font( rect.height() ), rect, this, 
		                         k_combat_results_title, t_pixel_24(0,0,0) );
	m_title->set_center_horizontal();
	m_title->set_center_vertical();
	m_title->set_drop_shadow( true, t_pixel_24(200,200,200));

	create_text();
	create_icons();
	create_buttons();

	// add title
//	text = replace_keywords( k_text_combat_results_creatures, "%creatures", m_traits->plural_name );
	// make it all upper case
//	std::transform( text.begin(), text.end(), text.begin(), toupper );
//	m_title->set_text( text );

}
示例#16
0
void t_score_dialog::initialize()
{
	// calculate the final scores
	calculate_scores( m_map, m_winner_team, m_scores );

	m_layout = g_layout.get();
	m_difficulty_icons = g_difficulty_icons.get();

	//////////////////////////////////////////////////////////////////
 	// find dimensions & center
	t_screen_point        origin(0,0);
	t_bitmap_layer const* layer = m_layout->find( "background" );
	t_screen_rect		  rect = layer->get_rect();

	set_bitmap( layer );
	rect += t_screen_point( (get_parent()->get_width() - rect.width()) / 2, 
		                           (get_parent()->get_height() - rect.height()) / 2 );
	move( rect );
	set_drop_shadow();

	//////////////////////////////////////////////////////////////////

	// add title
	t_text_window* window;
	layer = m_layout->find( "title" );
	rect = layer->get_rect();
	window = new t_text_window( get_font( rect.height() ), rect, this, 
		                         k_score_title, t_pixel_24(0,0,0) );
	window->set_center_horizontal();
	window->set_center_vertical();
	window->set_drop_shadow( true, t_pixel_24(200,200,200));

	create_text();
	create_icons();
	create_buttons();
}
示例#17
0
static struct curses_form *
curses_form_construct_from_dfui_form_multiple(const struct dfui_form *f)
{
	struct curses_form *cf;
	struct curses_form_userdata *cfu;
	const char *min_width_str;
	unsigned int desc_width, min_width = 0;
	unsigned int len, max_label_width, total_label_width;
	unsigned int max_button_width, total_button_width;
	struct dfui_field *fi;
	struct dfui_action *a;
	struct curses_widget *label, *button;
	struct dfui_dataset *ds;
	const char *name;
	int left_acc, top_acc;
	int row = 1, col = 0, ins_x = 1, is_menu = 0;

	dfui_debug("-----\nconstructing multiple form: %s\n",
	    dfui_info_get_name(dfui_form_get_info(f)));

	cf = curses_form_new(dfui_info_get_name(dfui_form_get_info(f)));
	AURA_MALLOC(cfu, curses_form_userdata);
	cfu->f = f;
	cf->userdata = cfu;
	cf->cleanup = 1;

	set_help(f, cf);

	/* Calculate offsets for nice positioning of labels and buttons. */

	/*
	 * Determine the widths of the widest field and the widest
	 * button, and the total widths of all fields and all buttons.
	 */

	max_label_width = 0;
	total_label_width = 0;
	max_button_width = 0;
	total_button_width = 0;

	for (fi = dfui_form_field_get_first(f); fi != NULL;
	     fi = dfui_field_get_next(fi)) {
		len = MIN(60, strlen(dfui_info_get_name(dfui_field_get_info(fi))));
		if (len > max_label_width)
			max_label_width = len;
		total_label_width += (len + 2);
	}
	for (a = dfui_form_action_get_first(f); a != NULL;
	     a = dfui_action_get_next(a)) {
		len = strlen(dfui_info_get_name(dfui_action_get_info(a)));
		if (len > max_button_width)
			max_button_width = len;
		total_button_width += (len + 6);
	}

	/* Take the short description and turn it into a set of labels. */

	if ((min_width_str = dfui_form_property_get(f, "minimum_width")) != NULL)
		min_width = atoi(min_width_str);

	desc_width = 40;
	desc_width = MAX(desc_width, min_width);
	desc_width = MAX(desc_width, total_button_width);
	desc_width = MAX(desc_width, total_label_width);
	desc_width = MIN(desc_width, xmax - 3);

	dfui_debug("min width: %d\n", min_width);
	dfui_debug("button width: %d\n", total_button_width);
	dfui_debug("label width: %d\n", total_label_width);
	dfui_debug("resulting width: %d\n", desc_width);
	dfui_debug("form width: %d\n", cf->width);

	cf->height = curses_form_descriptive_labels_add(cf,
	    dfui_info_get_short_desc(dfui_form_get_info(f)),
	    1, cf->height + 1, desc_width);

	dfui_debug("form width now: %d\n", cf->width);

	/* Add the fields. */

	top_acc = cf->height + 1;
	cf->height += dfui_form_dataset_count(f) + 2;

	/*
	 * Create the widgets for a multiple=true form.  For each field
	 * in the form, a label containing the field's name, which serves
	 * as a heading, is created.  Underneath these labels, for each
	 * dataset in the form, a row of input widgets (typically textboxes)
	 * is added.  Non-action, manipulation buttons are also added to
	 * the right of each row.
	 */
	left_acc = 1;
	for (fi = dfui_form_field_get_first(f); fi != NULL;
	     fi = dfui_field_get_next(fi)) {
		/*
		 * Create a label to serve as a heading for the column.
		 */
		name = dfui_info_get_name(dfui_field_get_info(fi));
		label = curses_form_widget_add(cf, left_acc,
		    top_acc, 0, CURSES_LABEL, name, 0,
		    CURSES_WIDGET_WIDEN);
		cfu->widths[col++] = label->width + 2;
		left_acc += (label->width + 2);
	}

	/*
	 * Create a row of widgets for each dataset.
	 */
	top_acc++;
	for (ds = dfui_form_dataset_get_first(f); ds != NULL;
	     ds = dfui_dataset_get_next(ds)) {
		ins_x = curses_form_create_widget_row(cf, NULL, ds,
		     1, top_acc++, row++);
	}

	/*
	 * Finally, create an 'Add' button to add a new row
	 * if this is an extensible form.
	 */
	if (dfui_form_is_extensible(f)) {
		button = curses_form_widget_add(cf,
		    ins_x, top_acc, 0,
		    CURSES_BUTTON, "Add", 0, CURSES_WIDGET_WIDEN);
		button->user_id = row;
		curses_widget_set_click_cb(button, cb_click_insert_row);
		cf->height++;
	}

	cf->height++;

	/* Add the buttons. */

	create_buttons(f, cf, is_menu);

	cf->height++;

	curses_form_finalize(cf);

	return(cf);
}
示例#18
0
static struct curses_form *
curses_form_construct_from_dfui_form_single(const struct dfui_form *f)
{
	struct curses_form *cf;
	struct curses_form_userdata *cfu;
	const char *min_width_str;
	unsigned int desc_width, min_width = 0;
	unsigned int len, max_label_width, total_label_width;
	unsigned int max_button_width, total_button_width;
	struct dfui_field *fi;
	struct dfui_action *a;
	struct curses_widget *label, *xbox;
	struct dfui_celldata *cd;
	const char *value;
	int is_menu;

	dfui_debug("-----\nconstructing single form: %s\n",
	    dfui_info_get_name(dfui_form_get_info(f)));

	is_menu = dfui_form_property_is(f, "role", "menu");
	cf = curses_form_new(dfui_info_get_name(dfui_form_get_info(f)));
	AURA_MALLOC(cfu, curses_form_userdata);
	cfu->f = f;
	cf->userdata = cfu;
	cf->cleanup = 1;

	set_help(f, cf);

	/* Calculate offsets for nice positioning of labels and buttons. */

	/*
	 * Determine the widths of the widest field and the widest
	 * button, and the total widths of all fields and all buttons.
	 */

	max_label_width = 0;
	total_label_width = 0;
	max_button_width = 0;
	total_button_width = 0;

	for (fi = dfui_form_field_get_first(f); fi != NULL;
	     fi = dfui_field_get_next(fi)) {
		len = MIN(60, strlen(dfui_info_get_name(dfui_field_get_info(fi))));
		if (len > max_label_width)
			max_label_width = len;
		total_label_width += (len + 2);
	}
	for (a = dfui_form_action_get_first(f); a != NULL;
	     a = dfui_action_get_next(a)) {
		len = strlen(dfui_info_get_name(dfui_action_get_info(a)));
		if (len > max_button_width)
			max_button_width = len;
		total_button_width += (len + 6);
	}

	if (total_label_width > (xmax - 2))
		total_label_width = (xmax - 2);		/* XXX scroll/wrap? */

	/* Take the short description and turn it into a set of labels. */

	if ((min_width_str = dfui_form_property_get(f, "minimum_width")) != NULL)
		min_width = atoi(min_width_str);

	desc_width = 40;
	desc_width = MAX(desc_width, min_width);
	if (is_menu) {
		desc_width = MAX(desc_width, max_button_width);
	} else {
		desc_width = MAX(desc_width, total_button_width);
	}
	desc_width = MAX(desc_width, max_label_width);  /* XXX + max_field_width */
	desc_width = MIN(desc_width, xmax - 4); /* -2 for borders, -2 for spaces */

	dfui_debug("min width: %d\n", min_width);
	dfui_debug("button width: %d\n", total_button_width);
	dfui_debug("label width: %d\n", total_label_width);
	dfui_debug("resulting width: %d\n", desc_width);
	dfui_debug("form width: %d\n", cf->width);

	cf->height = curses_form_descriptive_labels_add(cf,
	    dfui_info_get_short_desc(dfui_form_get_info(f)),
	    1, cf->height + 1, desc_width);

	dfui_debug("form width now: %d\n", cf->width);

	if (!is_menu)
		cf->height++;

	/*
	 * Add one label and one textbox (or other control) to a
	 * curses_form for each field in the dfui_form.  Each set of
	 * labels and controls is added one row below the previous set.
	 */
	for (fi = dfui_form_field_get_first(f); fi != NULL;
	     fi = dfui_field_get_next(fi)) {
		label = curses_form_widget_add(cf, 1,
		    cf->height, max_label_width, CURSES_LABEL,
		    dfui_info_get_name(dfui_field_get_info(fi)), 0, 0);

		cd = dfui_dataset_celldata_find(dfui_form_dataset_get_first(f),
		    dfui_field_get_id(fi));

		value = dfui_celldata_get_value(cd);

		if (dfui_field_property_is(fi, "control", "checkbox")) {
			xbox = curses_form_widget_add(cf,
			    max_label_width + 3,
			    cf->height, 4, CURSES_CHECKBOX, "", 0, 0);
			xbox->amount = (value[0] == 'Y' ? 1 : 0);
		} else {
			xbox = curses_form_widget_add(cf,
			    max_label_width + 3,
			    cf->height, 20, CURSES_TEXTBOX, value, 256, 0);
		}
		curses_widget_tooltip_set(xbox,
		    dfui_info_get_short_desc(dfui_field_get_info(fi)));
		xbox->user_id = 1;
		xbox->userdata = fi;

		if (dfui_field_property_is(fi, "editable", "false"))
			xbox->editable = 0;
		if (dfui_field_property_is(fi, "obscured", "true"))
			xbox->obscured = 1;

		if (dfui_field_option_get_first(fi) != NULL) {
			curses_widget_set_click_cb(xbox, cb_click_select_option);
		}

		cf->height++;
	}

	if (dfui_form_field_get_first(f) != NULL)
		cf->height++;

	create_buttons(f, cf, is_menu);

	cf->height++;

	curses_form_finalize(cf);

	return(cf);
}
示例#19
0
void create_mangroup ( Widget parent )
/************************************************************************
 *
 *	This subroutione creates the manual group widgets.
 *
 *		create_mangroup  ( parent )
 *
 *	Input parameters:
 *		parent	Wiget		parent widget id
 *
 ***********************************************************************/
{
Arg			args[10];
Cardinal		argcnt;
Widget			group_pane, form, frame[3];
Widget			rowcol, model_button;

/*----------------------------------------------------------------------*/

/* Create a popup shell & list widget for the file list. */

	group_panel_toplevel = XmCreateBulletinBoardDialog(parent,
			"group_panel", args, 0);

	argcnt = 0;
	XtSetArg(args[argcnt], XmNsashWidth, 1); argcnt++;
	XtSetArg(args[argcnt], XmNsashHeight, 1); argcnt++;
	group_pane = XtCreateManagedWidget("group_pane",
						xmPanedWindowWidgetClass,
						group_panel_toplevel,
						args,
						argcnt);

	argcnt = 0;
	form = XtCreateManagedWidget("group_form",
						xmFormWidgetClass,
						group_pane,
						NULL,
						argcnt);

	frame[0] = XtVaCreateManagedWidget("Inc_Group",
				  xmFrameWidgetClass, form,
				  XmNtopAttachment,    XmATTACH_FORM,
				  XmNleftAttachment,	 XmATTACH_FORM,
				  XmNbottomAttachment,	   XmATTACH_POSITION,
				  XmNbottomPosition,	80,
				  NULL );

	create_search(frame[0]);

	frame[1] = XtVaCreateManagedWidget("FListFrame",
				  xmFrameWidgetClass, form,
				  XmNtopAttachment,    XmATTACH_FORM,
				  XmNleftAttachment,	XmATTACH_WIDGET,
				  XmNleftWidget,    frame[0],
				  XmNbottomAttachment,	   XmATTACH_POSITION,
				  XmNbottomPosition,	80,
				  NULL );

	gframe_listW = create_framelist(frame[1], 1);

	frame[2] = XtVaCreateManagedWidget("FListGroup",
				  xmFrameWidgetClass, form,
				  XmNtopAttachment,    XmATTACH_FORM,
				  XmNleftAttachment,	XmATTACH_WIDGET,
				  XmNleftWidget,	frame[1],
				  XmNrightAttachment,	 XmATTACH_FORM,
				  XmNbottomAttachment,	   XmATTACH_POSITION,
				  XmNbottomPosition,	80,
				  NULL );

	ggroup_listW = create_grouplist(frame[2]);

	rowcol = XtVaCreateManagedWidget("GroupNameRc",
				  xmRowColumnWidgetClass, form,
				  XmNtopAttachment,    XmATTACH_POSITION,
				  XmNleftAttachment,	XmATTACH_POSITION,
				  XmNnumColumns, 1,
				  XmNorientation, XmHORIZONTAL,
				  XmNradioBehavior, False,
				  XmNpacking, XmPACK_TIGHT,
				  NULL );

	create_groupname(rowcol);
	model_button = create_buttons(form);
	create_model_selection(model_button);

	rowcol = XtVaCreateManagedWidget("ManualGroupCtrbRc",
				  xmRowColumnWidgetClass, group_pane,
				  XmNnumColumns, 1,
				  XmNorientation, XmHORIZONTAL,
				  XmNradioBehavior, False,
				  NULL );

	create_ctrB(rowcol);
}
示例#20
0
static int
create_dialog( void )
{
  int error;
  GtkWidget *hbox, *vbox, *hbox2;
  GtkAccelGroup *accel_group;
  debugger_pane i;

  gtkui_font font;

  error = gtkui_get_monospaced_font( &font ); if( error ) return error;

  dialog = gtkstock_dialog_new( "Fuse - Debugger",
				GTK_SIGNAL_FUNC( delete_dialog ) );

  /* Keyboard shortcuts */
  accel_group = gtk_accel_group_new();
  gtk_window_add_accel_group( GTK_WINDOW( dialog ), accel_group );

  /* The menu bar */
  error = create_menu_bar( GTK_BOX( GTK_DIALOG( dialog )->vbox ),
			   accel_group );
  if( error ) return error;

  /* Some boxes to contain the things we want to display */
  hbox = gtk_hbox_new( FALSE, 0 );
  gtk_box_pack_start( GTK_BOX( GTK_DIALOG( dialog )->vbox ), hbox,
		      TRUE, TRUE, 5 );

  vbox = gtk_vbox_new( FALSE, 5 );
  gtk_box_pack_start( GTK_BOX( hbox ), vbox, TRUE, TRUE, 5 );

  hbox2 = gtk_hbox_new( FALSE, 5 );
  gtk_box_pack_start_defaults( GTK_BOX( vbox ), hbox2 );

  /* The main display areas */
  error = create_register_display( GTK_BOX( hbox2 ), font );
  if( error ) return error;

  error = create_memory_map( GTK_BOX( hbox2 ) ); if( error ) return error;

  error = create_breakpoints( GTK_BOX( vbox ) ); if( error ) return error;

  error = create_disassembly( GTK_BOX( hbox ), font );
  if( error ) return error;

  error = create_stack_display( GTK_BOX( hbox ), font );
  if( error ) return error;

  error = create_events( GTK_BOX( hbox ) ); if( error ) return error;

  error = create_command_entry( GTK_BOX( GTK_DIALOG( dialog )->vbox ),
				accel_group );
  if( error ) return error;

  /* The action buttons */

  error = create_buttons( GTK_DIALOG( dialog ), accel_group );
  if( error ) return error;

  /* Initially, have all the panes visible */
  for( i = DEBUGGER_PANE_BEGIN; i < DEBUGGER_PANE_END; i++ ) {
    
    GtkCheckMenuItem *check_item;

    check_item = get_pane_menu_item( i ); if( !check_item ) break;
    gtk_check_menu_item_set_active( check_item, TRUE );
  }

  gtkui_free_font( font );

  dialog_created = 1;

  return 0;
}
示例#21
0
/* erstellt die Bedienungsoberfläche */
GtkWidget *gui_create(void)
{
    gint i, scr_width, scr_height;
    GdkScreen *screen;
    GtkWidget *window, *box[N_BOXES];

    /* ruft die Abmessungen des Bildschirms (screen) ab */
    screen = gdk_screen_get_default();
    scr_width = gdk_screen_get_width(screen);
    scr_height = gdk_screen_get_height(screen);

    /* erstellt das Hauptfenster, und setzt Größe,
       Namen und Randabstand */
    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_default_size(GTK_WINDOW(window),
                                scr_width * 0.85, scr_height * 0.85);
    gtk_window_set_title(GTK_WINDOW(window),
                         _("Simulation of radioactive decay"));
    gtk_container_set_border_width(GTK_CONTAINER(window), 5);

    /* verknüpft das Hauptfenster mit Callback-Funktionen */
    g_signal_connect(G_OBJECT(window),
                     "delete_event",
                     G_CALLBACK(gui_delete),
                     NULL);

    g_signal_connect(G_OBJECT(window),
                     "destroy",
                     G_CALLBACK(gui_destroy),
                     NULL);

    /* erstellt Layout

       Skizze der Kästen (box)
       |-0---------------------------------------------------|
       | |-1-----------------------------------------------| |
       | |                               |-2-------------| | |
       | |                               |               | | |
       | |                               |               | | |
       | |                               |               | | |
       | |                               |               | | |
       | |                               | |-3---------| | | |
       | |                               | |           | | | |
       | |                               | |-----------| | | |
       | |                               |---------------| | |
       | |-------------------------------------------------| |
       |                                                     |
       | |-4-----------------------------------------------| |
       | | |-5---| |-6------------------------| |-7------| | |
       | | |     | |                          | |        | | |
       | | |-----| |--------------------------| |--------| | |
       | |-------------------------------------------------| |
       |-----------------------------------------------------|
    */

    box[0] = gtk_vbox_new(FALSE, 0);
    gtk_container_add(GTK_CONTAINER(window), box[0]);

    box[1] = gtk_hbox_new(FALSE, 0);
    gtk_box_pack_start(GTK_BOX(box[0]), box[1], TRUE, TRUE, 0);

    box[2] = gtk_vbox_new(FALSE, 0);

    /* erstellt die beiden Zeichenbereiche */
    create_dareas(window, box[1], box[2]);

    box[3] = gtk_vbox_new(FALSE, 0);
    gtk_box_pack_start(GTK_BOX(box[2]), box[3], FALSE, FALSE, 0);

    /* erstellt die Status-Anzeigen */
    create_status(window, box[3]);

    box[4] = gtk_hbox_new(FALSE, 20);
    gtk_box_pack_start(GTK_BOX(box[0]), box[4], FALSE, FALSE, 0);

    box[5] = gtk_vbox_new(FALSE, 0);
    gtk_box_pack_start(GTK_BOX(box[4]), box[5], FALSE, FALSE, 0);

    /* erstellt die Eingabefelder */
    create_sim_input(window, box[5]);

    box[6] = gtk_vbox_new(FALSE, 0);
    gtk_box_pack_start(GTK_BOX(box[4]), box[6], FALSE, FALSE, 0);

    /* erstellt die Graphen-Auswahl */
    create_graph_input(window, box[6]);

    box[7] = gtk_vbox_new(FALSE, 0);
    gtk_box_pack_start(GTK_BOX(box[4]), box[7], TRUE, TRUE, 0);

    toggle_states(g_object_get_data(G_OBJECT(window), "spin_states"),
                  window);

    /* erstellt die Buttons */
    create_buttons(window, box[7]);

    /* gibt die Widgets zum Zeichnen auf dem Bildschirm frei */
    for (i = 0; i < N_BOXES; i++)
        gtk_widget_show(box[i]);
    gtk_widget_show(window);

    /* erstellt eine Liste mit ein paar Farben, die dann
       später im Programm benutzt werden (das _muss_ nach
       dem Zeichnen auf den Bildschirm passieren) */
    create_colors(window);

    /* setzt die Farben der Checkboxen der Graphen */
    color_graph_input(window);
    
    return window;
}
示例#22
0
static void CreateEmAll(HWND hWnd)
{
    RECT rect;
    double dHeight;
    int width, height;
    HDC hDC;
    DWORD ext;
            
    hCurShape = LoadCursor(NULL, IDC_SIZENS);

    GetClientRect(hWnd, &rect);
    height = rect.bottom - rect.top;
    width = rect.right - rect.left;
    dHeight = (double) height * src_prop;
            
    hWndSource = CreateWindow("ROTWnd", NULL, 
                              WS_CHILD | WS_VISIBLE |
                              WS_HSCROLL | WS_VSCROLL,
                              0, 0, width, (int) dHeight,
                              hWnd, IDW_SOURCE, hInstKlwDll, NULL);

    hWndShape = CreateWindow("STATIC", NULL, 
                             WS_CHILD | WS_BORDER | WS_VISIBLE,
                             0, (int) dHeight, width, bwidth,
                             hWnd, IDW_SHAPE, hInstKlwDll, NULL);
                                 
    SetWindowLong(hWndShape, GWL_WNDPROC, (DWORD) KlwShapeProc);
    hDC = GetDC(hWndSource);
    ext = GetTextExtent(hDC, "A", 1);
    GetCharWidth(hDC, 0, 255, (LPINT) char_widths);
    ReleaseDC(hWndSource, hDC);
    wLHeight = HIWORD(ext);
    wLHeightD2 = wLHeight >> 1;
            
    hWndMessage = CreateWindow("EDIT", NULL, 
                               WS_CHILD | WS_VISIBLE | WS_BORDER |
                               ES_AUTOHSCROLL | ES_READONLY,
                               0, (int) dHeight + bwidth, width, 
                               wLHeight + wLHeightD2, hWnd, IDW_MESSAGE,
                               hInstKlwDll, NULL);

    hWndWatches = CreateWindow("EDIT", NULL, 
                               WS_CHILD | WS_VISIBLE | WS_BORDER |
                               WS_CLIPCHILDREN | WS_VSCROLL |
                               ES_MULTILINE | ES_NOHIDESEL | ES_READONLY, 
                               0, 
                               (int) dHeight + bwidth + wLHeight + 
                               wLHeightD2,
                               width, 
                               height - (int) dHeight - bwidth -
                               wLHeightD2 - wLHeight * 3,
                               hWnd, IDW_WATCHES, 
                               hInstKlwDll, NULL);
                                   
    hWndStack = CreateWindow("LISTBOX", "KALView Stack", 
                             WS_OVERLAPPEDWINDOW | LBS_STANDARD, 
                             40, 40, 120, 160,
                             hWndKalView, NULL, hInstKlwDll, NULL);
    lpListBoxWndProc =
        (FARPROC) GetWindowLong(hWndStack, GWL_WNDPROC);
    SetWindowLong(hWndStack, GWL_WNDPROC, (DWORD) KlwStackProc);

    lpROTWndProc = (FARPROC) GetWindowLong(hWndSource, GWL_WNDPROC);
    lpEditWndProc = (FARPROC) GetWindowLong(hWndWatches, GWL_WNDPROC);
    SetWindowLong(hWndSource, GWL_WNDPROC, (DWORD) KlwSourceProc);
    SetWindowLong(hWndMessage, GWL_WNDPROC, (DWORD) KlwMessageProc);

    create_buttons(hWnd, rect, 5,
                   "Go", KLW_GO, "Step", KLW_STEP, "Trace", KLW_TRACE,
                   "Here", KLW_HERE, "Abort", KLW_ABORT);
}
示例#23
0
void game_display::begin_game()
{
	in_game_ = true;
	create_buttons();
	invalidate_all();
}
示例#24
0
ButtonsWidget::ButtonsWidget(QWidget *parent) :
    QWidget(parent), player_iter_{0},
    game_iter_{0}, correct_{0}{


    QVBoxLayout *base_layout{new QVBoxLayout(this)};
    QVBoxLayout *base_layout_status_labels{new QVBoxLayout()};

    base_layout_status_labels->setContentsMargins(0, 0, 0, 0);
    base_layout_status_labels->setMargin(0);
    base_layout_status_labels->setSpacing(0);
    QHBoxLayout *base_layout_big_buttons{new QHBoxLayout()};

    status_label_ = new QLabel(this);
    status_label_->setText("Start a game!");
    status_label_->setFixedHeight(30);
    status_label_->setAlignment(Qt::AlignCenter);
    status_label_->setObjectName("status_label");

    base_layout_status_labels->addWidget(status_label_);

    QWidget *temp_w = new QWidget();
    temp_w->setContentsMargins(0, 0, 0, 0);
    temp_w->setObjectName("status_bottom_shadow");
    temp_w->setFixedHeight(4);
    base_layout_status_labels->addWidget(temp_w);
    base_layout_status_labels->addStretch();


    create_buttons();
    set_stylesheets();

    for ( auto button : buttons_ ) {
        base_layout_big_buttons->addWidget(button);
        button->setDisabled(true);
    }

    base_layout->addLayout(base_layout_status_labels);
    base_layout->addLayout(base_layout_big_buttons);
    base_layout->setContentsMargins(0, 0, 0, 5);
    setLayout(base_layout);
    setObjectName("top_widget");

    game_timer_ = new QTimer(this);

    connect(game_timer_, SIGNAL(timeout()),
            this, SLOT(choose_random_color()));
    connect(this, SIGNAL(random_value(int)),
            this, SLOT(button_toggle_on(int)));

    button_highlight_timer_ = new QTimer(this);
    button_highlight_timer_->setSingleShot(true);
    connect(button_highlight_timer_, SIGNAL(timeout()), this, SLOT(toggle_button_off()));

    int counter{0};
    while ( counter < buttons_.size() ) {
        // Lambda so we can find the correct button:
        connect(buttons_.at(counter), &QPushButton::clicked,
                [this, counter]() { button_clicked(counter); });
        ++counter;
    }

}
示例#25
0
// -------------------------------------------------------------------
// window to display spells available in mage guild
// -------------------------------------------------------------------
t_mage_guild_window::t_mage_guild_window( t_town const* town, t_army const* adjacent_army,
										  t_window* parent )
                   : t_window( k_completely_transparent, parent )
{
	t_screen_rect rect;
	t_screen_rect parent_rect;

	m_current_page = 0;

	// load bitmaps
	m_town = town;
	m_adjacent_army = adjacent_army;
	m_book_bitmaps = k_book_bitmaps.get();
	m_frame_bitmaps = k_frame_bitmaps.get();


	t_bitmap_layer const *	layer;
	t_window *				window;
	t_screen_point			origin(0,0);
	t_screen_point			book_origin(0,0);

	parent_rect = get_parent()->get_client_rect();
	if( parent_rect.width() >= 1024 )
	{
		int ndx = town->get_type() * 2;
		if( parent_rect.width() > 1024 )
			++ndx;

		assert( ndx < ELEMENTS_OF(k_background_bitmaps) );

		m_background_bitmaps = k_background_bitmaps[ndx].get();

		rect = m_background_bitmaps->get_rect();
		rect += (parent_rect.size() - rect.size()) / 2;

		// create background
		layer = m_background_bitmaps->find( "top" );
		window = new t_bitmap_layer_window( layer, origin, this );
		layer = m_background_bitmaps->find( "left" );
		window = new t_bitmap_layer_window( layer, origin, this );
		layer = m_background_bitmaps->find( "bottom" );
		window = new t_bitmap_layer_window( layer, origin, this );
		layer = m_background_bitmaps->find( "right" );
		window = new t_bitmap_layer_window( layer, origin, this );

		book_origin = m_background_bitmaps->find( "book_pages" )->get_rect().top_left();
	} else
		rect = parent_rect;

	init( rect );

	// create book
	t_window*      book;

	layer = m_book_bitmaps->find( "book_pages" );
	book = new t_bitmap_layer_window( layer, book_origin, this );
	rect = book->get_client_rect();
	m_index_window = new t_window( rect, k_completely_transparent, book );
	m_detail_window = new t_window( rect, k_completely_transparent, book );
	m_detail_window->set_visible( false );

	// create and sort spell list
	int                       i;
	t_guild_spell_list const& spells = m_town->get_spells();

	for (i = 0; i < spells.size(); i++)
	{
		if (spells[i].available)
			m_spells.push_back( spells[i].spell );
	}
	std::sort( m_spells.begin(), m_spells.end(), t_sort_spells());

	create_buttons( book_origin );
	create_spell_icons();
	create_labels();
	create_detail_page();
	create_hero_icons();

	// set up initial spell set visibility
	m_current_page = 1;
	change_spell_set_visibility( false );
	m_current_page = 0;
	change_spell_set_visibility( true );

	// set whether page buttons are visible or not
	if( m_icon_list[1].size() == 0 )
	{
		m_last_page_button->set_visible(false);
		m_next_page_button->set_visible(false);
	}
}