diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp b/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp index ca7b6fe047..852a45c0ab 100644 --- a/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp +++ b/src/tests/kits/net/preflet/InterfacesAddOn/InterfacesAddOn.cpp @@ -16,6 +16,7 @@ #include "InterfacesAddOn.h" #include "InterfacesListView.h" +#include "SettingsWindow.h" #include @@ -136,8 +137,8 @@ InterfacesAddOn::MessageReceived(BMessage* msg) if (!item) break; - //NetworkWindow* nw = new NetworkWindow(item->GetSettings()); - //nw->Show(); + SettingsWindow* sw = new SettingsWindow(item->GetSettings()); + sw->Show(); break; } diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/Jamfile b/src/tests/kits/net/preflet/InterfacesAddOn/Jamfile index 02dbf73d32..1e6a44a9a8 100644 --- a/src/tests/kits/net/preflet/InterfacesAddOn/Jamfile +++ b/src/tests/kits/net/preflet/InterfacesAddOn/Jamfile @@ -17,6 +17,7 @@ Addon Interfaces : InterfacesAddOn.cpp InterfacesListView.cpp NetworkSettings.cpp + SettingsWindow.cpp # from src/apps/networkstatus RadioView.cpp diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/NetworkWindow.cpp b/src/tests/kits/net/preflet/InterfacesAddOn/NetworkWindow.cpp deleted file mode 100644 index bcf6ce1313..0000000000 --- a/src/tests/kits/net/preflet/InterfacesAddOn/NetworkWindow.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2004-2008 Haiku Inc. All rights reserved. - * Distributed under the terms of the MIT License. - * - * Author: - * Andre Alves Garzia, andre@andregarzia.com - * Fredrik Modéen - */ - -#include "NetworkWindow.h" - -#include -#include - -#include "EthernetSettingsView.h" -#include "NetworkSettings.h" - - -NetworkWindow::NetworkWindow(NetworkSettings* settings) - : BWindow(BRect(50, 50, 269, 302), "Network", B_TITLED_WINDOW, - B_NOT_RESIZABLE | B_ASYNCHRONOUS_CONTROLS | B_NOT_ZOOMABLE - | B_AUTO_UPDATE_SIZE_LIMITS) -{ - SetLayout(new BGroupLayout(B_HORIZONTAL)); - fEthernetView = new EthernetSettingsView(); // settings); - GetLayout()->AddView(fEthernetView); - - SetTitle(settings->Name()); -} - - -NetworkWindow::~NetworkWindow() -{ -} - - -void -NetworkWindow::MessageReceived(BMessage* message) -{ - switch (message->what) { - default: - BWindow::MessageReceived(message); - } - -} - - -bool -NetworkWindow::QuitRequested() -{ - return true; -} diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/NetworkWindow.h b/src/tests/kits/net/preflet/InterfacesAddOn/NetworkWindow.h deleted file mode 100644 index d7f7fc6324..0000000000 --- a/src/tests/kits/net/preflet/InterfacesAddOn/NetworkWindow.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright 2004-2008 Haiku Inc. All rights reserved. - * Distributed under the terms of the MIT License. - * - * Author: - * Andre Alves Garzia, andre@andregarzia.com - * Fredrik Modéen - */ -#ifndef NETWORK_WINDOW_H -#define NETWORK_WINDOW_H - - -#include - -class Settings; -class EthernetSettingsView; - - -class NetworkWindow : public BWindow { -public: - NetworkWindow(Settings* setting); - virtual ~NetworkWindow(); - virtual bool QuitRequested(); - virtual void MessageReceived(BMessage* mesage); - -private: - EthernetSettingsView* fEthernetView; -}; - -#endif /* NETWORK_WINDOW_H */ diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/SettingsWindow.cpp b/src/tests/kits/net/preflet/InterfacesAddOn/SettingsWindow.cpp new file mode 100644 index 0000000000..81b0141ebf --- /dev/null +++ b/src/tests/kits/net/preflet/InterfacesAddOn/SettingsWindow.cpp @@ -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@unixzen.com + */ + + +#include "SettingsWindow.h" + +#include + +#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; +} + diff --git a/src/tests/kits/net/preflet/InterfacesAddOn/SettingsWindow.h b/src/tests/kits/net/preflet/InterfacesAddOn/SettingsWindow.h new file mode 100644 index 0000000000..1a2db20144 --- /dev/null +++ b/src/tests/kits/net/preflet/InterfacesAddOn/SettingsWindow.h @@ -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@unixzen.com + */ + + +#ifndef SETTINGS_WINDOW_H +#define SETTINGS_WINDOW_H + +#include "NetworkSettings.h" + +#include +#include +#include +#include +#include +#include + + +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 */ +