Author: kallisti5 Date: 2011-02-15 01:04:27 +0100 (Tue, 15 Feb 2011) New Revision: 40500 Changeset: http://dev.haiku-os.org/changeset/40500 Modified: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.cpp haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.h haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.cpp Log: added BTextControls for IP address and Netmask configuration Modified: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.cpp =================================================================== --- haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.cpp 2011-02-14 23:48:32 UTC (rev 40499) +++ haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.cpp 2011-02-15 00:04:27 UTC (rev 40500) @@ -21,18 +21,33 @@ fSettings(settings), fFamily(family) { + float textControlW; + float textControlH; + SetLayout(new BGroupLayout(B_VERTICAL)); - // TODO : Draw address fields in a generic way - BStringView* address = new BStringView(Bounds(), "address", - fSettings->IP(family)); + // Create our controls + fAddressField = new BTextControl(frame, "address", "IP Address:", + NULL, NULL, B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW); + fNetmaskField = new BTextControl(frame, "netmask", "Netmask:", + NULL, NULL, B_FOLLOW_LEFT | B_FOLLOW_TOP, B_WILL_DRAW); + fAddressField->GetPreferredSize(&textControlW, &textControlH); + float labelSize = ( textControlW + 50 ) + - fAddressField->StringWidth("XXX.XXX.XXX.XXX"); + + _RevertFields(); + // Do the initial field population + + fAddressField->SetDivider(labelSize); + fNetmaskField->SetDivider(labelSize); + AddChild(BGroupLayoutBuilder(B_VERTICAL, 10) - .Add(address) + .Add(fAddressField) + .Add(fNetmaskField) .AddGlue() .SetInsets(10, 10, 10, 10) ); - } @@ -42,3 +57,12 @@ } +status_t +InterfaceAddressView::_RevertFields() +{ + // Populate address fields with current settings + fAddressField->SetText(fSettings->IP(fFamily)); + fNetmaskField->SetText(fSettings->Netmask(fFamily)); + + return B_OK; +} Modified: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.h =================================================================== --- haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.h 2011-02-14 23:48:32 UTC (rev 40499) +++ haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceAddressView.h 2011-02-15 00:04:27 UTC (rev 40500) @@ -13,6 +13,7 @@ #include <Screen.h> #include <View.h> +#include <TextControl.h> class InterfaceAddressView : public BView { @@ -23,8 +24,13 @@ virtual ~InterfaceAddressView(); private: + status_t _RevertFields(); NetworkSettings* fSettings; int fFamily; + + BTextControl* fAddressField; + BTextControl* fNetmaskField; + BTextControl* fGatewayField; }; Modified: haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.cpp =================================================================== --- haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.cpp 2011-02-14 23:48:32 UTC (rev 40499) +++ haiku/trunk/src/tests/kits/net/preflet/InterfacesAddOn/InterfaceWindow.cpp 2011-02-15 00:04:27 UTC (rev 40500) @@ -17,7 +17,7 @@ InterfaceWindow::InterfaceWindow(NetworkSettings* settings) - : BWindow(BRect(50, 50, 400, 302), "Interface Settings", + : BWindow(BRect(50, 50, 370, 350), "Interface Settings", B_TITLED_WINDOW_LOOK, B_MODAL_APP_WINDOW_FEEL, B_NOT_RESIZABLE | B_ASYNCHRONOUS_CONTROLS | B_NOT_ZOOMABLE, B_CURRENT_WORKSPACE)