change BMessages to be more friendly; change BView to BGroupView and use LayoutBuilder more efficiently
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40539 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -10,9 +10,7 @@
|
|||||||
#include "InterfaceAddressView.h"
|
#include "InterfaceAddressView.h"
|
||||||
#include "NetworkSettings.h"
|
#include "NetworkSettings.h"
|
||||||
|
|
||||||
#include <GroupLayout.h>
|
#include <LayoutBuilder.h>
|
||||||
#include <GroupLayoutBuilder.h>
|
|
||||||
#include <GridLayoutBuilder.h>
|
|
||||||
#include <MenuItem.h>
|
#include <MenuItem.h>
|
||||||
#include <StringView.h>
|
#include <StringView.h>
|
||||||
|
|
||||||
@@ -20,7 +18,7 @@
|
|||||||
InterfaceAddressView::InterfaceAddressView(BRect frame, const char* name,
|
InterfaceAddressView::InterfaceAddressView(BRect frame, const char* name,
|
||||||
int family, NetworkSettings* settings)
|
int family, NetworkSettings* settings)
|
||||||
:
|
:
|
||||||
BView(frame, name, B_FOLLOW_ALL_SIDES, 0),
|
BGroupView(B_VERTICAL),
|
||||||
fSettings(settings),
|
fSettings(settings),
|
||||||
fFamily(family)
|
fFamily(family)
|
||||||
{
|
{
|
||||||
@@ -30,12 +28,12 @@ InterfaceAddressView::InterfaceAddressView(BRect frame, const char* name,
|
|||||||
fModePopUpMenu = new BPopUpMenu("modes");
|
fModePopUpMenu = new BPopUpMenu("modes");
|
||||||
|
|
||||||
fModePopUpMenu->AddItem(new BMenuItem("Automatic",
|
fModePopUpMenu->AddItem(new BMenuItem("Automatic",
|
||||||
new BMessage(AUTOSEL_MSG)));
|
new BMessage(M_MODE_AUTO)));
|
||||||
fModePopUpMenu->AddItem(new BMenuItem("Static",
|
fModePopUpMenu->AddItem(new BMenuItem("Static",
|
||||||
new BMessage(STATICSEL_MSG)));
|
new BMessage(M_MODE_STATIC)));
|
||||||
fModePopUpMenu->AddSeparatorItem();
|
fModePopUpMenu->AddSeparatorItem();
|
||||||
fModePopUpMenu->AddItem(new BMenuItem("None",
|
fModePopUpMenu->AddItem(new BMenuItem("None",
|
||||||
new BMessage(NONESEL_MSG)));
|
new BMessage(M_MODE_NONE)));
|
||||||
|
|
||||||
fModeField = new BMenuField("Mode:", fModePopUpMenu);
|
fModeField = new BMenuField("Mode:", fModePopUpMenu);
|
||||||
|
|
||||||
@@ -46,19 +44,16 @@ InterfaceAddressView::InterfaceAddressView(BRect frame, const char* name,
|
|||||||
RevertFields();
|
RevertFields();
|
||||||
// Do the initial field population
|
// Do the initial field population
|
||||||
|
|
||||||
AddChild(BGroupLayoutBuilder(B_VERTICAL, 10)
|
BLayoutBuilder::Group<>(this)
|
||||||
.Add(BGridLayoutBuilder()
|
.AddGrid()
|
||||||
.Add(fModeField->CreateLabelLayoutItem(), 0, 0)
|
.AddMenuField(fModeField, 0, 0, B_ALIGN_RIGHT)
|
||||||
.Add(fModeField->CreateMenuBarLayoutItem(), 1, 0)
|
.AddTextControl(fAddressField, 0, 1, B_ALIGN_RIGHT)
|
||||||
.Add(fAddressField->CreateLabelLayoutItem(), 0, 1)
|
.AddTextControl(fNetmaskField, 0, 2, B_ALIGN_RIGHT)
|
||||||
.Add(fAddressField->CreateTextViewLayoutItem(), 1, 1)
|
.AddTextControl(fGatewayField, 0, 3, B_ALIGN_RIGHT)
|
||||||
.Add(fNetmaskField->CreateLabelLayoutItem(), 0, 2)
|
.End()
|
||||||
.Add(fNetmaskField->CreateTextViewLayoutItem(), 1, 2)
|
|
||||||
.Add(fGatewayField->CreateLabelLayoutItem(), 0, 3)
|
|
||||||
.Add(fGatewayField->CreateTextViewLayoutItem(), 1, 3)
|
|
||||||
)
|
|
||||||
.AddGlue()
|
.AddGlue()
|
||||||
);
|
.SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING,
|
||||||
|
B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -79,13 +74,13 @@ void
|
|||||||
InterfaceAddressView::MessageReceived(BMessage* message)
|
InterfaceAddressView::MessageReceived(BMessage* message)
|
||||||
{
|
{
|
||||||
switch (message->what) {
|
switch (message->what) {
|
||||||
case AUTOSEL_MSG:
|
case M_MODE_AUTO:
|
||||||
_EnableFields(false);
|
_EnableFields(false);
|
||||||
break;
|
break;
|
||||||
case STATICSEL_MSG:
|
case M_MODE_STATIC:
|
||||||
_EnableFields(true);
|
_EnableFields(true);
|
||||||
break;
|
break;
|
||||||
case NONESEL_MSG:
|
case M_MODE_NONE:
|
||||||
_EnableFields(false);
|
_EnableFields(false);
|
||||||
fAddressField->SetText("");
|
fAddressField->SetText("");
|
||||||
fNetmaskField->SetText("");
|
fNetmaskField->SetText("");
|
||||||
|
|||||||
@@ -15,17 +15,17 @@
|
|||||||
#include <PopUpMenu.h>
|
#include <PopUpMenu.h>
|
||||||
#include <Screen.h>
|
#include <Screen.h>
|
||||||
#include <TextControl.h>
|
#include <TextControl.h>
|
||||||
#include <View.h>
|
#include <GroupView.h>
|
||||||
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
AUTOSEL_MSG = 'iato',
|
M_MODE_AUTO = 'iato',
|
||||||
STATICSEL_MSG = 'istc',
|
M_MODE_STATIC = 'istc',
|
||||||
NONESEL_MSG = 'inon'
|
M_MODE_NONE = 'inon'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class InterfaceAddressView : public BView {
|
class InterfaceAddressView : public BGroupView {
|
||||||
public:
|
public:
|
||||||
InterfaceAddressView(BRect frame,
|
InterfaceAddressView(BRect frame,
|
||||||
const char* name, int family,
|
const char* name, int family,
|
||||||
|
|||||||
Reference in New Issue
Block a user