/* * Create the draw Frame and the draw Panel */ void create_draw_frame(Widget w, XtPointer client_data, XtPointer call_data) { int x, y; Widget buts[2]; Widget wlabel; set_wait_cursor(); if (draw_frame == NULL) { char *label1[2]; label1[0] = "Accept"; label1[1] = "Close"; XmGetPos(app_shell, 0, &x, &y); draw_frame = XmCreateDialogShell(app_shell, "Draw options", NULL, 0); handle_close(draw_frame); XtVaSetValues(draw_frame, XmNx, x, XmNy, y, NULL); draw_panel = XmCreateRowColumn(draw_frame, "draw_rc", NULL, 0); wlabel = XtVaCreateManagedWidget("Scroll %:", xmLabelWidgetClass, draw_panel, NULL); scrollper_item = XtVaCreateManagedWidget("scroll", xmScaleWidgetClass, draw_panel, XmNwidth, 200, XmNminimum, 0, XmNmaximum, 200, XmNvalue, 0, XmNshowValue, True, XmNprocessingDirection, XmMAX_ON_RIGHT, XmNorientation, XmHORIZONTAL, NULL); linkscroll_item = XtVaCreateManagedWidget("Linked scrolling", xmToggleButtonWidgetClass, draw_panel, NULL); autoredraw_type_item = XtVaCreateManagedWidget("Auto redraw", xmToggleButtonWidgetClass, draw_panel, NULL); autorefresh_type_item = XtVaCreateManagedWidget("Auto refresh", xmToggleButtonWidgetClass, draw_panel, NULL); cursor_type_item = XtVaCreateManagedWidget("Crosshair cursor", xmToggleButtonWidgetClass, draw_panel, NULL); XtVaCreateManagedWidget("sep", xmSeparatorWidgetClass, draw_panel, NULL); CreateCommandButtons(draw_panel, 2, buts, label1); XtAddCallback(buts[0], XmNactivateCallback, (XtCallbackProc) define_draw_proc, (XtPointer) 0); XtAddCallback(buts[1], XmNactivateCallback, (XtCallbackProc) destroy_dialog, (XtPointer) draw_frame); XtManageChild(draw_panel); } XtRaise(draw_frame); update_draw(); unset_wait_cursor(); }
void update_all(int gno) { update_set_lists(gno); update_world(gno); update_view(gno); update_status(gno, cur_statusitem, -1); update_ticks(gno); update_autos(gno); updatelegends(gno); updatesymbols(gno, -1); update_label_proc(); update_locator_items(gno); update_draw(); update_frame_items(gno); update_graph_items(); update_hotlinks(); }
QWidget* createTabsWidget(Dataset& data) { PlantsModel* plants_model = new PlantsModel(data.get_plants()); PlotsModel* plots_model = new PlotsModel(data.get_plots()); QTabWidget* tab_widget = new QTabWidget; SpaceViewWindow* spacewidget = new SpaceViewWindow(data); tab_widget->addTab(spacewidget, QObject::tr("Space view")); TimelineWindow* timewidget = new TimelineWindow(data); tab_widget->addTab(timewidget, QObject::tr("Time view")); PlantsWindow* plantswidget = new PlantsWindow(plants_model); PlotsWindow* plotswidget = new PlotsWindow(plots_model); EditCropWidget* edit_crop_widget = new EditCropWidget(data, plants_model, plots_model); QObject::connect(plantswidget, SIGNAL(timeline_need_update()), spacewidget, SLOT(update_draw())); QObject::connect(plantswidget, SIGNAL(timeline_need_update()), timewidget, SLOT(update_draw())); QObject::connect(plotswidget, SIGNAL(timeline_need_update()), spacewidget, SLOT(update_draw())); QObject::connect(plotswidget, SIGNAL(timeline_need_update()), timewidget, SLOT(update_draw())); QObject::connect(edit_crop_widget, SIGNAL(dataset_changed()), timewidget, SLOT(update_draw())); QObject::connect(edit_crop_widget, SIGNAL(dataset_changed()), spacewidget, SLOT(update_draw())); //Date of the spacewidget QObject::connect(timewidget->get_view()->get_scene(), SIGNAL(current_date_changed(QDate)), spacewidget->get_view()->get_scene(), SLOT(set_date(QDate))); //Crops selection synchronisation QObject::connect(timewidget->get_view()->get_scene(), SIGNAL(crop_selected(Crop*)), edit_crop_widget, SLOT(set_crop_values(Crop*))); QObject::connect(spacewidget->get_view()->get_scene(), SIGNAL(crop_selected(Crop*)), edit_crop_widget, SLOT(set_crop_values(Crop*))); QObject::connect(timewidget->get_view()->get_scene(), SIGNAL(crop_selected(Crop*)), spacewidget->get_view()->get_scene(), SLOT(selectCrop(Crop*))); QObject::connect(spacewidget->get_view()->get_scene(), SIGNAL(crop_selected(Crop*)), timewidget->get_view()->get_scene(), SLOT(selectCrop(Crop*))); QObject::connect(edit_crop_widget->ui->EditPlantsBtn, SIGNAL(clicked()), plantswidget, SLOT(show())); QObject::connect(edit_crop_widget->ui->EditPlotsBtn, SIGNAL(clicked()), plotswidget, SLOT(show())); QWidget* widget = new QWidget; QGridLayout* main_layout = new QGridLayout; main_layout->addWidget(tab_widget); main_layout->addWidget(edit_crop_widget); widget->setLayout(main_layout); return widget; }