Author: kallisti5 Date: 2011-02-11 23:31:49 +0100 (Fri, 11 Feb 2011) New Revision: 40451 Changeset: http://dev.haiku-os.org/changeset/40451 Added: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/SettingsWindow.cpp haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/SettingsWindow.h Removed: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/NetworkWindow.cpp haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/NetworkWindow.h Modified: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/Jamfile Log: added initial interface settings dialog Modified: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp =================================================================== --- haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp 2011-02-11 22:28:07 UTC (rev 40450) +++ haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp 2011-02-11 22:31:49 UTC (rev 40451) @@ -16,6 +16,7 @@ #include "InterfacesAddOn.h" #include "InterfacesListView.h" +#include "SettingsWindow.h" #include <stdio.h> @@ -136,8 +137,8 @@ if (!item) break; - //NetworkWindow* nw = new NetworkWindow(item->GetSettings()); - //nw->Show(); + SettingsWindow* sw = new SettingsWindow(item->GetSettings()); + sw->Show(); break; } Modified: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/Jamfile =================================================================== --- haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/Jamfile 2011-02-11 22:28:07 UTC (rev 40450) +++ haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/Jamfile 2011-02-11 22:31:49 UTC (rev 40451) @@ -17,6 +17,7 @@ InterfacesAddOn.cpp InterfacesListView.cpp NetworkSettings.cpp + SettingsWindow.cpp # from src/apps/networkstatus RadioView.cpp Added: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/SettingsWindow.cpp =================================================================== --- haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/SettingsWindow.cpp (rev 0) +++ haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/SettingsWindow.cpp 2011-02-11 22:31:49 UTC (rev 40451) @@ -0,0 +1,97 @@ +/* + * Copyright 2004-2011 Haiku Inc. All rights reserved. + * Distributed under the terms of the MIT License. + * + * Authors: + * Alexander von Gluck, kallisti5@xxxxxxxxxxx + */ + + +#include "SettingsWindow.h" + +#include <Application.h> + +#undef B_TRANSLATE_CONTEXT +#define B_TRANSLATE_CONTEXT "NetworkSetupWindow" + + +SettingsWindow::SettingsWindow(NetworkSettings* settings) + : BWindow(BRect(50, 50, 400, 302), "Interface Settings", + B_TITLED_WINDOW_LOOK, B_MODAL_APP_WINDOW_FEEL, + B_NOT_RESIZABLE | B_ASYNCHRONOUS_CONTROLS | B_NOT_ZOOMABLE + | B_AUTO_UPDATE_SIZE_LIMITS, B_CURRENT_WORKSPACE) +{ + fNetworkSettings = settings; + + fTabView = new BTabView("settings_tabs"); + + fApplyButton = new BButton("apply", B_TRANSLATE("Apply"), + new BMessage(APPLY_MSG)); + + fCancelButton = new BButton("cancel", B_TRANSLATE("Cancel"), + new BMessage(CANCEL_MSG)); + + fTabView->SetResizingMode(B_FOLLOW_ALL); + // ensure tab container matches window size + + _PopulateTabs(); + + SetLayout(new BGroupLayout(B_VERTICAL)); + + AddChild(BGroupLayoutBuilder(B_VERTICAL, 10) + .Add(fTabView) + .AddGroup(B_HORIZONTAL, 5) + .AddGlue() + .Add(fCancelButton) + .Add(fApplyButton) + .End() + .SetInsets(10, 10, 10, 10) + ); +} + + +SettingsWindow::~SettingsWindow() +{ +} + + +void +SettingsWindow::MessageReceived(BMessage* message) +{ + switch (message->what) { + default: + BWindow::MessageReceived(message); + } + +} + + +status_t +SettingsWindow::_PopulateTabs() +{ + // TODO : Temporary, just to get example data + BRect frame = fTabView->Bounds(); + BView* view4 = new BView(frame, "net_settings_ipv4", + B_FOLLOW_ALL_SIDES, B_WILL_DRAW); + BView* view6 = new BView(frame, "net_settings_ipv6", + B_FOLLOW_ALL_SIDES, B_WILL_DRAW); + + BTab* tab4 = new BTab; + BTab* tab6 = new BTab; + + fTabView->AddTab(view4, tab4); + tab4->SetLabel("IPv4"); + + fTabView->AddTab(view6, tab6); + tab6->SetLabel("IPv6"); + + return B_OK; +} + + +bool +SettingsWindow::QuitRequested() +{ + return true; +} + Added: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/SettingsWindow.h =================================================================== --- haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/SettingsWindow.h (rev 0) +++ haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/SettingsWindow.h 2011-02-11 22:31:49 UTC (rev 40451) @@ -0,0 +1,47 @@ +/* + * Copyright 2004-2011 Haiku Inc. All rights reserved. + * Distributed under the terms of the MIT License. + * + * Authors: + * Alexander von Gluck, kallisti5@xxxxxxxxxxx + */ + + +#ifndef SETTINGS_WINDOW_H +#define SETTINGS_WINDOW_H + +#include "NetworkSettings.h" + +#include <Button.h> +#include <Catalog.h> +#include <GroupLayout.h> +#include <GroupLayoutBuilder.h> +#include <TabView.h> +#include <Window.h> + + +enum { + APPLY_MSG = 'aply', + CANCEL_MSG = 'cncl' +}; + + +class SettingsWindow : public BWindow { +public: + SettingsWindow(NetworkSettings* settings); + virtual ~SettingsWindow(); + virtual bool QuitRequested(); + virtual void MessageReceived(BMessage* mesage); + +private: + status_t _PopulateTabs(); + + NetworkSettings* fNetworkSettings; + BButton* fApplyButton; + BButton* fCancelButton; + BTabView* fTabView; +}; + + +#endif /* SETTINGS_WINDOW_H */ +