GtkWidget * create_canvas_rich_text (void) { GtkWidget *vbox; GtkWidget *alignment; GtkWidget *frame; GtkWidget *canvas; MateCanvasGroup *root; vbox = gtk_vbox_new (FALSE, 4); gtk_container_set_border_width (GTK_CONTAINER (vbox), 4); gtk_widget_show (vbox); alignment = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_box_pack_start (GTK_BOX (vbox), alignment, TRUE, TRUE, 0); gtk_widget_show (alignment); frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); gtk_container_add (GTK_CONTAINER (alignment), frame); gtk_widget_show (frame); /* Create the canvas and board */ canvas = mate_canvas_new (); gtk_widget_set_size_request (canvas, 600, 450); gtk_container_add (GTK_CONTAINER (frame), canvas); gtk_widget_show (canvas); root = mate_canvas_root (MATE_CANVAS (canvas)); setup_text (root); return vbox; }
int menu_page(MENU menu_element, char menu_items[][100], int num_items, CNTRLDISPLAY controls, uint8_t bg, unsigned int selected) { memset(&menu_element, 0, sizeof(MENU)); menu_element.bg = bg; menu_element.vpad = menu_element.hpad = 10; int i; for (i=0; i<num_items; i++) { MENUITEM *item = &menu_element.items[i]; item->size.height = 25; item->fg = 1; item->selectedfg = 2; item->active = 1; item->selected = (i==selected)?1:0; setup_text(&item->header_text, menu_items[i], (POSITION){0,0}, 1, 0); } uint16_t key; while (1) { draw_top_bar(0, controls); draw_menu(&menu_element); swap_buffers(); key = get_key(); switch (key&0xff) { case DOWN_PRESSED: case RIGHT_PRESSED: selected++; break; case UP_PRESSED: case LEFT_PRESSED: selected--; break; case ENTER_PRESSED: return selected; case ESC_PRESSED: if (controls.esc_back || controls.esc_menu) return -1; break; default: continue; } selected = (selected<0)?num_items-1:selected; selected %= num_items; for (i=0;i<num_items;i++) menu_element.items[i].selected = (i==selected); } }
void draw_card (void) { double curx, cury; double dx, dy; double scale; set_gray (80); if (draw_outline) { cairo_rectangle (cr, 0, 0, CARD_WIDTH, CARD_HEIGHT); cairo_stroke (cr); } curx = 12; cury = 15; set_gray (0); setup_text (name_font, "Alex Willisson", &dx, &dy); if (0) { /* centered */ draw_text ((CARD_WIDTH - dx) / 2, cury); } else { draw_text (curx, cury); } cury += 22; setup_text (mono_font, "*****@*****.**", &dx, &dy); draw_text (curx, cury); cury += 22; setup_text (mono_font, "774-277-9494", &dx, &dy); draw_text (curx, cury); set_gray (30); cury += 25; setup_text (main_font, "3 Ames Street, Wa203", &dx, &dy); draw_text (curx, cury); cury += 15; setup_text (main_font, "Cambridge, MA 02139", &dx, &dy); draw_text (curx, cury); set_gray (0); cury = CARD_HEIGHT - 25; setup_text (mono_font, "http://alex.willisson.org", &dx, &dy); draw_text (curx, cury); curx = 170; cury = 5; scale = .12; cairo_save (cr); cairo_translate (cr, curx, cury); cairo_scale (cr, scale, scale); cairo_rectangle (cr, 0, 0, cairo_image_surface_get_width (code_surface), cairo_image_surface_get_height (code_surface)); cairo_set_source (cr, code_pattern); cairo_fill (cr); cairo_restore (cr); }
win_object_prop::win_object_prop(QWidget *parent, Qt::WFlags tipo, myGraphicsItem *obj_input) : QDialog(parent, tipo) { // Se questo QDialog viene creato con tipo == Qt::Dialog allora sono costretto ad avere il ? in alto a destra // Ciò forse è un bene perchè mi costringerà ad avere un minimo di help // Veder Qt::WindowContextHelpButtonHint per avere maggiori informazioni //setSizeGripEnabled(true); setModal(true); QGridLayout *layout = new QGridLayout(this); obj = obj_input; switch (obj->tipo) { case O_CONNECTION: setWindowTitle(tr("Wire Properties")); layout->addWidget(setup_connection(), 0, 0); layout->addLayout(setup_buttons(), 1, 0, TRUE, FALSE); break; case O_POLYLINE: setWindowTitle(tr("Polyline Properties")); layout->addWidget(setup_polyline(), 0, 0); layout->addLayout(setup_buttons(), 1, 0, TRUE, FALSE); break; case O_POLYGON: setWindowTitle(tr("Polygon Properties")); layout->addWidget(setup_polygon(), 0, 0); layout->addLayout(setup_buttons(), 1, 0, TRUE, FALSE); break; case O_RECT: setWindowTitle(tr("Rectangle Properties")); layout->addWidget(setup_polygon(), 0, 0); layout->addLayout(setup_buttons(), 1, 0, TRUE, FALSE); break; case O_ELLIPSE: setWindowTitle(tr("Ellipse Properties")); layout->addWidget(setup_polygon(), 0, 0); layout->addLayout(setup_buttons(), 1, 0, TRUE, FALSE); break; case O_TEXT: setWindowTitle(tr("Text Properties")); layout->addWidget(setup_font_properties(), 0, 0); layout->addWidget(setup_text(), 1, 0); TextText->setFocus(); layout->addLayout(setup_buttons(), 2, 0, TRUE, FALSE); break; case O_PIN: setWindowTitle(tr("Pin Properties")); layout->addWidget(setup_pin_general(), 0, 0); layout->addWidget(setup_pin_orientation(), 2, 0); layout->addLayout(setup_buttons(), 3, 0, TRUE, FALSE); break; case O_POWER: setWindowTitle(tr("Power Port Properties")); layout->addWidget(setup_power_general(), 0, 0); layout->addLayout(setup_buttons(), 3, 0, TRUE, FALSE); break; case O_PORT: setWindowTitle(tr("Module Port Properties")); layout->addWidget(setup_port_general(), 0, 0); layout->addWidget(setup_port_orientation(), 2, 0); layout->addLayout(setup_buttons(), 3, 0, TRUE, FALSE); break; case O_PAD: { int row = 0; setWindowTitle(tr("Pad Properties")); layout->addLayout(setup_pad(), row++, 0); layout->addLayout(setup_buttons(), row++, 0, TRUE, FALSE); } break; case O_VIA: { int row = 0; setWindowTitle(tr("Via Properties")); layout->addLayout(setup_via(), row++, 0); layout->addLayout(setup_buttons(), row++, 0, TRUE, FALSE); } break; } layout->setSpacing(6); layout->setMargin(8); }