/* * Copyright 2013-2016, Rene Gollent, rene@gollent.com. * Distributed under the terms of the MIT License. */ #include "TeamSettingsWindow.h" #include #include #include #include "AppMessageCodes.h" #include "ExceptionStopConfigView.h" #include "ImageStopConfigView.h" #include "SignalsConfigView.h" TeamSettingsWindow::TeamSettingsWindow(::Team* team, UserInterfaceListener* listener, BHandler* target) : BWindow(BRect(), "Team settings", B_TITLED_WINDOW, B_AUTO_UPDATE_SIZE_LIMITS | B_CLOSE_ON_ESCAPE), fTeam(team), fListener(listener), fCloseButton(NULL), fTarget(target) { } TeamSettingsWindow::~TeamSettingsWindow() { BMessenger(fTarget).SendMessage(MSG_TEAM_SETTINGS_WINDOW_CLOSED); } TeamSettingsWindow* TeamSettingsWindow::Create(::Team* team, UserInterfaceListener* listener, BHandler* target) { TeamSettingsWindow* self = new TeamSettingsWindow( team, listener, target); try { self->_Init(); } catch (...) { delete self; throw; } return self; } void TeamSettingsWindow::Show() { CenterOnScreen(); BWindow::Show(); } void TeamSettingsWindow::_Init() { BTabView* tabView = new BTabView("config tab view"); BLayoutBuilder::Group<>(this, B_VERTICAL) .SetInsets(B_USE_DEFAULT_SPACING) .Add(tabView) .AddGroup(B_HORIZONTAL) .AddGlue() .Add(fCloseButton = new BButton("Close", new BMessage( B_QUIT_REQUESTED))) .End(); SignalsConfigView* signalsView = SignalsConfigView::Create(fTeam, fListener); tabView->AddTab(signalsView); ImageStopConfigView* imageView = ImageStopConfigView::Create(fTeam, fListener); tabView->AddTab(imageView); ExceptionStopConfigView* exceptionView = ExceptionStopConfigView::Create( fTeam, fListener); tabView->AddTab(exceptionView); fCloseButton->SetTarget(this); }