void KeyboardWidget::Prepare(ContainerWindow &parent, const PixelRect &rc) { PrepareSize(rc); TCHAR caption[] = _T(" "); for (const TCHAR *i = keyboard_letters; !StringIsEmpty(i); ++i) { caption[0] = *i; AddButton(parent, caption, *i); } AddButton(parent, _T("Space"), ' '); AddButton(parent, _T("."), '.'); AddButton(parent, _T(","), ','); AddButton(parent, _T("-"), '-'); if (show_shift_button) { WindowStyle style; style.Hide(); shift_button.Create(parent, { 0, 0, 16, 16 }, style, new SymbolButtonRenderer(look, _T("v")), *this, SHIFT); } UpdateShiftState(); }
void InfoBoxManager::Create(PixelRect rc, const InfoBoxLayout::Layout &_layout, const InfoBoxLook &look, const UnitsLook &units_look) { const InfoBoxSettings &settings = CommonInterface::GetUISettings().info_boxes; first = true; layout = _layout; WindowStyle style; style.Hide(); // create infobox windows for (unsigned i = layout.count; i-- > 0;) { const PixelRect &rc = layout.positions[i]; int Border = GetInfoBoxBorder(i); InfoBoxes[i] = new InfoBoxWindow(XCSoarInterface::main_window, rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top, Border, settings, look, units_look, style); } InfoBoxesHidden = true; }
WndProperty * RowFormWidget::CreateEdit(const TCHAR *label, const TCHAR *help, bool read_only) { assert(IsDefined()); const PixelRect edit_rc = InitialControlRect(Layout::GetMinimumControlHeight()); WindowStyle style; if (!read_only) style.TabStop(); PanelControl &panel = *(PanelControl *)GetWindow(); WndProperty *edit = new WndProperty(panel, look, label, edit_rc, (*label == '\0') ? 0 : 100, style); edit->SetReadOnly(read_only); if (help != NULL) edit->SetHelpText(help); return edit; }
InfoBoxWindow::InfoBoxWindow(ContainerWindow &_parent, int X, int Y, int Width, int Height, int border_flags, const InfoBoxSettings &_settings, const InfoBoxLook &_look) :content(NULL), parent(_parent), settings(_settings), look(_look), mBorderKind(border_flags), focus_timer(0) { colorValue = 0; colorTitle = 0; colorComment = 0; WindowStyle style; style.enable_double_clicks(); set(parent, X, Y, Width, Height, style); mValueUnit = unUndef; mTitle.clear(); mValue.clear(); mComment.clear(); mID = -1; }
void InfoBoxManager::Create(PixelRect rc, const InfoBoxLayout::Layout &_layout, const InfoBoxLook &look) { first = true; layout = _layout; WindowStyle style; style.hide(); full_window.set(XCSoarInterface::main_window, rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top, style); // create infobox windows for (unsigned i = 0; i < layout.count; i++) { const PixelRect &rc = layout.positions[i]; int Border = GetInfoBoxBorder(i); InfoBoxes[i] = new InfoBoxWindow(XCSoarInterface::main_window, rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top, Border, look); } SetDirty(); }
virtual void Prepare(ContainerWindow &parent, const PixelRect &rc) override { WindowStyle style; style.Hide(); window.Create(parent, rc, style); SetWindow(&window); }
void TopWindow::set(const TCHAR *cls, const TCHAR *text, PixelScalar left, PixelScalar top, UPixelScalar width, UPixelScalar height) { WindowStyle style; style.popup(); screen.Set(width, height); /* apply the mode which was chosen by TopCanvas */ width = screen.get_width(); height = screen.get_height(); ContainerWindow::set(NULL, 0, 0, width, height, style); #ifndef ANDROID #ifdef _UNICODE char text2[_tcslen(text) * 4]; ::WideCharToMultiByte(CP_UTF8, 0, text, -1, text2, sizeof(text2), NULL, NULL); #else const char *text2 = text; #endif ::SDL_WM_SetCaption(text2, NULL); #endif }
void MainWindow::InitialiseConfigured() { PixelRect rc = get_client_rect(); LogStartUp(_T("InfoBox geometry")); InfoBoxLayout::Init(rc); const InfoBoxLayout::Layout ib_layout = InfoBoxLayout::Calculate(rc, InfoBoxLayout::InfoBoxGeometry); Fonts::SizeInfoboxFont(ib_layout.control_width); if (Appearance.UseCustomFonts) { LogStartUp(_T("Load fonts")); Fonts::LoadCustom(); } LogStartUp(_T("Create info boxes")); InfoBoxManager::Create(rc, ib_layout); map_rect = ib_layout.remaining; LogStartUp(_T("Create button labels")); ButtonLabel::CreateButtonLabels(*this); ButtonLabel::SetLabelText(0,_T("MODE")); ButtonLabel::SetFont(Fonts::MapBold); WindowStyle hidden; hidden.hide(); vario = new GlueGaugeVario(*this, rc.right - ib_layout.control_width, 0, ib_layout.control_width, ib_layout.control_height * 3, hidden); WindowStyle hidden_border; hidden_border.hide(); hidden_border.border(); flarm = new GaugeFLARM(*this, rc.right - ib_layout.control_width * 2 + 1, rc.bottom - ib_layout.control_height * 2 + 1, ib_layout.control_width * 2 - 1, ib_layout.control_height * 2 - 1, hidden_border); flarm->bring_to_top(); unsigned sz = std::min(ib_layout.control_height, ib_layout.control_width) * 2; ta = new GaugeThermalAssistant(*this, 0, rc.bottom - sz, sz, sz, hidden_border); ta->bring_to_top(); map.set(*this, map_rect); map.set_font(Fonts::Map); LogStartUp(_T("Initialise message system")); popup.set(rc); }
void AnalysisWidget::Prepare(ContainerWindow &parent, const PixelRect &rc) { const Layout layout(rc); ButtonWindowStyle button_style; button_style.Hide(); button_style.TabStop(); info.Create(parent, layout.info); const auto &button_look = dialog.GetLook().button; details_button.Create(parent, button_look, _T("Calc"), layout.details_button, button_style, *this, DETAILS); previous_button.Create(parent, button_look, _T("<"), layout.previous_button, button_style, *this, PREVIOUS); next_button.Create(parent, button_look, _T(">"), layout.next_button, button_style, *this, NEXT); close_button.Create(parent, button_look, _("Close"), layout.close_button, button_style, dialog, mrOK); WindowStyle style; style.Hide(); chart.Create(parent, layout.main, style); }
void Prepare(ContainerWindow &parent, const PixelRect &rc) override { WindowStyle style; style.Hide(); terminal.Create(parent, rc, style); SetWindow(&terminal); device.SetMonitor(&bridge); }
void InfoBoxManager::Create(ContainerWindow &parent, const InfoBoxLayout::Layout &_layout, const InfoBoxLook &look, const UnitsLook &units_look) { const InfoBoxSettings &settings = CommonInterface::GetUISettings().info_boxes; first = true; layout = _layout; WindowStyle style; style.Hide(); // create infobox windows for (unsigned i = layout.count; i-- > 0;) { const PixelRect &rc = layout.positions[i]; int Border = settings.border_style == InfoBoxSettings::BorderStyle::TAB ? 0 /* layout.geometry is the effective layout, while settings.geometry is the configured layout */ : InfoBoxLayout::GetBorder(layout.geometry, layout.landscape, i); infoboxes[i] = new InfoBoxWindow(parent, rc, Border, settings, look, units_look, i, style); } infoboxes_hidden = true; }
void Prepare(ContainerWindow &parent, const PixelRect &rc) override { assert(!visible); WindowStyle style; style.Hide(); style.TabStop(); const ButtonLook &look = UIGlobals::GetDialogLook().button; const Layout layout = CalculateLayout(rc); edit_button.Create(parent, look, _("Edit Point"), layout.edit, style, *listener, EDIT); mutate_button.Create(parent, look, _("Make Finish"), layout.down, style, *listener, MUTATE); down_button.Create(parent, layout.down, style, new SymbolButtonRenderer(look, _T("v")), *listener, DOWN); up_button.Create(parent, layout.down, style, new SymbolButtonRenderer(look, _T("^")), *listener, UP); reverse_button.Create(parent, look, _("Reverse"), layout.reverse, style, *listener, REVERSE); clear_all_button.Create(parent, look, _("Clear All"), layout.clear_all, style, *listener, CLEAR_ALL); }
void SimulatorPromptWindow::OnCreate() { ContainerWindow::OnCreate(); const PixelRect rc = GetClientRect(); WindowStyle style; style.TabStop(); fly_bitmap.Load(IDB_LAUNCHER1); fly_bitmap.EnableInterpolation(); fly_button.Create(*this, rc, style, new BitmapButtonRenderer(fly_bitmap), action_listener, FLY); sim_bitmap.Load(IDB_LAUNCHER2); sim_bitmap.EnableInterpolation(); sim_button.Create(*this, rc, style, new BitmapButtonRenderer(sim_bitmap), action_listener, SIMULATOR); if (have_quit_button) quit_button.Create(*this, look.button, _("Quit"), rc, style, action_listener, QUIT); }
ProgressWindow::ProgressWindow(ContainerWindow &parent) :background_color(COLOR_WHITE), background_brush(background_color), position(0) { PixelRect rc = parent.GetClientRect(); WindowStyle style; style.Hide(); Create(parent, rc, style); const unsigned width = rc.right - rc.left, height = rc.bottom - rc.top; // Load progress bar background bitmap_progress_border.Load(IDB_PROGRESSBORDER); // Determine text height #ifndef USE_GDI font.Load(FontDescription(Layout::FontScale(10))); text_height = font.GetHeight(); #else VirtualCanvas canvas({1, 1}); text_height = canvas.GetFontHeight(); #endif // Make progress bar height proportional to window height const unsigned progress_height = height / 20; const unsigned progress_horizontal_border = progress_height / 2; progress_border_height = progress_height * 2; // Initialize message text field PixelRect message_rc = rc; message_rc.bottom -= progress_border_height + height / 48; message_rc.top = message_rc.bottom - text_height; TextWindowStyle message_style; message_style.center(); message.Create(*this, NULL, message_rc, message_style); #ifndef USE_GDI message.SetFont(font); #endif // Initialize progress bar PixelRect pb_rc; pb_rc.left = progress_horizontal_border; pb_rc.right = pb_rc.left + width - progress_height; pb_rc.top = height - progress_border_height + progress_horizontal_border; pb_rc.bottom = pb_rc.top + progress_height; ProgressBarStyle pb_style; progress_bar.Create(*this, pb_rc, pb_style); message.InstallWndProc(); // needed for OnChildColor() // Set progress bar step size and range SetRange(0, 1000); SetStep(50); // Show dialog ShowOnTop(); }
void ContainerWidget::Prepare(ContainerWindow &parent, const PixelRect &rc) { WindowStyle style; style.Hide(); container.Create(parent, rc, style); SetWindow(&container); }
void GaugeFLARM::Prepare(ContainerWindow &parent, const PixelRect &rc) { WindowStyle style; style.Hide(); SetWindow(new SmallTrafficWindow(parent, rc, look, style)); }
gcc_const static WindowStyle GetDialogStyle() { WindowStyle style; style.Hide(); style.ControlParent(); return style; }
ProgressWindow::ProgressWindow(ContainerWindow &parent) :background_color(COLOR_WHITE), background_brush(background_color), position(0) { PixelRect rc = parent.get_client_rect(); WindowStyle style; style.hide(); set(parent, rc.left, rc.top, rc.right, rc.bottom, style); unsigned width = rc.right - rc.left, height = rc.bottom - rc.top; // Load progress bar background bitmap_progress_border.load(IDB_PROGRESSBORDER); // Determine text height #ifdef ENABLE_SDL font.set("Droid Sans", 12); text_height = font.get_height(); #else VirtualCanvas canvas(1, 1); text_height = canvas.text_height(_T("W")); #endif // Make progress bar height proportional to window height unsigned progress_height = height / 20; unsigned progress_horizontal_border = progress_height / 2; progress_border_height = progress_height * 2; // Initialize message text field TextWindowStyle message_style; message_style.center(); message.set(*this, NULL, 0, height - progress_border_height - text_height - (height/48), width, text_height, message_style); #ifdef ENABLE_SDL message.set_font(font); #endif // Initialize progress bar ProgressBarStyle pb_style; progress_bar.set(*this, progress_horizontal_border, height - progress_border_height + progress_horizontal_border, width - progress_height, progress_height, pb_style); message.install_wndproc(); // needed for on_color() // Set progress bar step size and range set_range(0, 1000); set_step(50); // Show dialog show_on_top(); update(); }
void TopWindow::set(const TCHAR *cls, const TCHAR *text, int left, int top, unsigned width, unsigned height) { WindowStyle style; style.popup(); Window::set(NULL, cls, text, left, top, width, height, style); }
void GaugeThermalAssistant::Prepare(ContainerWindow &parent, const PixelRect &rc) { WindowStyle style; style.Hide(); GaugeThermalAssistantWindow *window = new GaugeThermalAssistantWindow(parent, rc, look, style); SetWindow(window); }
void Create(PixelSize size) { SingleWindow::Create(_T("Test"), size); WindowStyle style; style.Disable(); const PixelRect rc = GetClientRect(); close_button.Create(*this, _T("Close"), CLOSE, GetButtonRect(rc)); test_window.Create(*this, rc, style); }
void MacCreadySetupPanel::Prepare(ContainerWindow &parent, const PixelRect &rc) { WindowStyle style; style.Hide(); style.TabStop(); auto_mc.Create(parent, UIGlobals::GetDialogLook(), _("Auto"), rc, style, *this, 1); SetWindow(&auto_mc); }
void XMLWidget::LoadWindow(const CallBackTableEntry *callbacks, ContainerWindow &parent, const TCHAR *resource) { WindowStyle style; style.Hide(); Window *window = ::LoadWindow(callbacks, &form, parent, resource, style); assert(window != NULL); SetWindow(window); }
void KoboMenuWidget::Prepare(ContainerWindow &parent, const PixelRect &rc) { WindowStyle style; style.Hide(); style.ControlParent(); w.Create(parent, rc, style); SetWindow(&w); }
void QuickMenu::Prepare(ContainerWindow &parent, const PixelRect &rc) { WindowStyle grid_view_style; grid_view_style.ControlParent(); grid_view_style.Hide(); const auto &dialog_look = UIGlobals::GetDialogLook(); const auto &font = *dialog_look.button.font; const unsigned column_width = Layout::Scale(78u); const unsigned row_height = std::max(2 * (Layout::GetTextPadding() + font.GetHeight()), Layout::GetMaximumControlHeight()); grid_view.Create(parent, dialog_look, rc, grid_view_style, column_width, row_height); SetWindow(&grid_view); WindowStyle buttonStyle; buttonStyle.TabStop(); for (unsigned i = 0; i < menu.MAX_ITEMS; ++i) { if (buttons.full()) continue; const auto &menuItem = menu[i]; if (!menuItem.IsDefined()) continue; TCHAR buffer[100]; const auto expanded = ButtonLabel::Expand(menuItem.label, buffer, ARRAY_SIZE(buffer)); if (!expanded.visible) continue; PixelRect button_rc; button_rc.left = 0; button_rc.top = 0; button_rc.right = 80; button_rc.bottom = 30; auto *button = new Button(grid_view, button_rc, buttonStyle, new QuickMenuButtonRenderer(dialog_look, expanded.text), *this, menuItem.event); button->SetEnabled(expanded.enabled); buttons.append(button); grid_view.AddItem(*button); } grid_view.RefreshLayout(); UpdateCaption(); }
virtual void Prepare(ContainerWindow &parent, const PixelRect &rc) override { WindowStyle style; style.Hide(); ButtonWindowStyle button_style(style); button_style.TabStop(); quit.Create(parent, _("Quit"), rc, style, action_listener, mrCancel); logo.Create(parent, rc, style); }
void GlueGaugeVario::Prepare(ContainerWindow &parent, const PixelRect &rc) { WindowStyle style; style.Hide(); GaugeVario *gauge = new GaugeVario(blackboard, parent, look, units_look, rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top, style); SetWindow(gauge); }
void RowFormWidget::Initialise(ContainerWindow &parent, const PixelRect &rc) { assert(!IsDefined()); assert(rows.empty()); WindowStyle style; style.Hide(); style.ControlParent(); SetWindow(new PanelControl(parent, look, rc, style)); }
void PanelWidget::Prepare(ContainerWindow &parent, const PixelRect &rc) { WindowStyle style; style.ControlParent(); style.Hide(); PanelControl *panel = new PanelControl(parent, UIGlobals::GetDialogLook(), rc, style); SetWindow(panel); }
void PopupMessage::Create(const PixelRect _rc) { rc = _rc; WindowStyle style; #ifdef USE_WINUSER style.Border(); #endif style.Hide(); PaintWindow::Create(parent, GetRect(), style); }