change to kMsg style BMessage; introduce a new BMessage for listitem click events so I can implement a BPopUpMenu; style cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40770 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -65,20 +65,20 @@ InterfacesAddOn::CreateView(BRect *bounds)
|
|||||||
// Construct the ListView
|
// Construct the ListView
|
||||||
fListview = new InterfacesListView(intViewRect,
|
fListview = new InterfacesListView(intViewRect,
|
||||||
"interfaces", B_FOLLOW_ALL_SIDES);
|
"interfaces", B_FOLLOW_ALL_SIDES);
|
||||||
fListview->SetSelectionMessage(new BMessage(INTERFACE_SELECTED_MSG));
|
fListview->SetSelectionMessage(new BMessage(kMsgInterfaceSel));
|
||||||
fListview->SetInvocationMessage(new BMessage(CONFIGURE_INTERFACE_MSG));
|
fListview->SetInvocationMessage(new BMessage(kMsgInterfaceAct));
|
||||||
|
|
||||||
BScrollView* scrollView = new BScrollView(NULL, fListview,
|
BScrollView* scrollView = new BScrollView(NULL, fListview,
|
||||||
B_FOLLOW_ALL_SIDES, B_WILL_DRAW | B_FRAME_EVENTS, false, true);
|
B_FOLLOW_ALL_SIDES, B_WILL_DRAW | B_FRAME_EVENTS, false, true);
|
||||||
|
|
||||||
// Construct the BButtons
|
// Construct the BButtons
|
||||||
fConfigure = new BButton(intViewRect, "configure",
|
fConfigure = new BButton(intViewRect, "configure",
|
||||||
"Configure" B_UTF8_ELLIPSIS, new BMessage(CONFIGURE_INTERFACE_MSG));
|
"Configure" B_UTF8_ELLIPSIS, new BMessage(kMsgInterfaceCfg));
|
||||||
|
|
||||||
fConfigure->SetEnabled(false);
|
fConfigure->SetEnabled(false);
|
||||||
|
|
||||||
fOnOff = new BButton(intViewRect, "onoff", "Disable",
|
fOnOff = new BButton(intViewRect, "onoff", "Disable",
|
||||||
new BMessage(ONOFF_INTERFACE_MSG));
|
new BMessage(kMsgInterfaceTog));
|
||||||
|
|
||||||
fOnOff->SetEnabled(false);
|
fOnOff->SetEnabled(false);
|
||||||
|
|
||||||
@@ -127,36 +127,41 @@ InterfacesAddOn::MessageReceived(BMessage* msg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch (msg->what) {
|
switch (msg->what) {
|
||||||
case INTERFACE_SELECTED_MSG: {
|
case kMsgInterfaceSel:
|
||||||
fOnOff->SetEnabled(item != NULL);
|
{
|
||||||
fConfigure->SetEnabled(item != NULL);
|
fOnOff->SetEnabled(item != NULL);
|
||||||
if (!item)
|
fConfigure->SetEnabled(item != NULL);
|
||||||
|
if (!item)
|
||||||
|
break;
|
||||||
|
fConfigure->SetEnabled(!item->IsDisabled());
|
||||||
|
fOnOff->SetLabel(item->IsDisabled() ? "Enable" : "Disable");
|
||||||
break;
|
break;
|
||||||
fConfigure->SetEnabled(!item->IsDisabled());
|
}
|
||||||
fOnOff->SetLabel(item->IsDisabled() ? "Enable" : "Disable");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case CONFIGURE_INTERFACE_MSG: {
|
case kMsgInterfaceAct:
|
||||||
if (!item)
|
case kMsgInterfaceCfg:
|
||||||
|
{
|
||||||
|
if (!item)
|
||||||
|
break;
|
||||||
|
|
||||||
|
InterfaceWindow* sw = new InterfaceWindow(item->GetSettings());
|
||||||
|
sw->Show();
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
InterfaceWindow* sw = new InterfaceWindow(item->GetSettings());
|
case kMsgInterfaceTog:
|
||||||
sw->Show();
|
{
|
||||||
break;
|
if (!item)
|
||||||
}
|
break;
|
||||||
|
|
||||||
case ONOFF_INTERFACE_MSG:
|
item->SetDisabled(!item->IsDisabled());
|
||||||
if (!item)
|
fOnOff->SetLabel(item->IsDisabled() ? "Enable" : "Disable");
|
||||||
|
fConfigure->SetEnabled(!item->IsDisabled());
|
||||||
|
fListview->Invalidate();
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
item->SetDisabled(!item->IsDisabled());
|
default:
|
||||||
fOnOff->SetLabel(item->IsDisabled() ? "Enable" : "Disable");
|
BBox::MessageReceived(msg);
|
||||||
fConfigure->SetEnabled(!item->IsDisabled());
|
|
||||||
fListview->Invalidate();
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
BBox::MessageReceived(msg);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,27 +23,26 @@
|
|||||||
class InterfacesAddOn : public NetworkSetupAddOn, public BBox
|
class InterfacesAddOn : public NetworkSetupAddOn, public BBox
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
InterfacesAddOn(image_id addon_image);
|
InterfacesAddOn(image_id addon_image);
|
||||||
~InterfacesAddOn();
|
~InterfacesAddOn();
|
||||||
|
|
||||||
const char* Name();
|
const char* Name();
|
||||||
status_t Save();
|
status_t Save();
|
||||||
|
|
||||||
BView* CreateView(BRect *bounds);
|
BView* CreateView(BRect *bounds);
|
||||||
|
|
||||||
enum {
|
static const uint32 kMsgInterfaceSel = 'ifce';
|
||||||
INTERFACE_SELECTED_MSG = 'ifce',
|
static const uint32 kMsgInterfaceAct = 'ifac';
|
||||||
CONFIGURE_INTERFACE_MSG = 'conf',
|
static const uint32 kMsgInterfaceCfg = 'ifcf';
|
||||||
ONOFF_INTERFACE_MSG = 'onof'
|
static const uint32 kMsgInterfaceTog = 'onof';
|
||||||
};
|
|
||||||
|
|
||||||
void AttachedToWindow();
|
void AttachedToWindow();
|
||||||
void MessageReceived(BMessage* msg);
|
void MessageReceived(BMessage* msg);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
InterfacesListView* fListview;
|
InterfacesListView* fListview;
|
||||||
BButton* fConfigure;
|
BButton* fConfigure;
|
||||||
BButton* fOnOff;
|
BButton* fOnOff;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user