Browse Source

Added "Disconnect cables" to menu

tags/v0.6.0
Andrew Belt 7 years ago
parent
commit
adce999006
3 changed files with 23 additions and 6 deletions
  1. +2
    -0
      include/app.hpp
  2. +8
    -0
      src/app/RackWidget.cpp
  3. +13
    -6
      src/app/Toolbar.cpp

+ 2
- 0
include/app.hpp View File

@@ -160,6 +160,8 @@ struct RackWidget : OpaqueWidget {
void saveAsDialog();
/** If `lastPath` is defined, ask the user to reload it */
void revert();
/** Disconnects all wires */
void disconnect();
void savePatch(std::string filename);
void loadPatch(std::string filename);
json_t *toJson();


+ 8
- 0
src/app/RackWidget.cpp View File

@@ -149,6 +149,14 @@ void RackWidget::revert() {
}
}

void RackWidget::disconnect() {
for (Widget *w : moduleContainer->children) {
ModuleWidget *moduleWidget = dynamic_cast<ModuleWidget*>(w);
assert(moduleWidget);
moduleWidget->disconnect();
}
}

json_t *RackWidget::toJson() {
// root
json_t *rootJ = json_object();


+ 13
- 6
src/app/Toolbar.cpp View File

@@ -12,6 +12,12 @@ struct NewItem : MenuItem {
}
};

struct DisconnectItem : MenuItem {
void onAction(EventAction &e) override {
gRackWidget->disconnect();
}
};

struct OpenItem : MenuItem {
void onAction(EventAction &e) override {
gRackWidget->openDialog();
@@ -48,12 +54,13 @@ struct FileChoice : ChoiceButton {
menu->box.pos = getAbsoluteOffset(Vec(0, box.size.y));
menu->box.size.x = box.size.x;

menu->addChild(construct<NewItem>(&MenuItem::text, "New", &MenuItem::rightText, WINDOW_MOD_KEY_NAME "+N"));
menu->addChild(construct<OpenItem>(&MenuItem::text, "Open", &MenuItem::rightText, WINDOW_MOD_KEY_NAME "+O"));
menu->addChild(construct<SaveItem>(&MenuItem::text, "Save", &MenuItem::rightText, WINDOW_MOD_KEY_NAME "+S"));
menu->addChild(construct<SaveAsItem>(&MenuItem::text, "Save as", &MenuItem::rightText, WINDOW_MOD_KEY_NAME "+Shift+S"));
menu->addChild(construct<RevertItem>(&MenuItem::text, "Revert", &MenuItem::rightText, WINDOW_MOD_KEY_NAME "+R"));
menu->addChild(construct<QuitItem>(&MenuItem::text, "Quit", &MenuItem::rightText, WINDOW_MOD_KEY_NAME "+Q"));
menu->addChild(MenuItem::create<NewItem>("New", WINDOW_MOD_KEY_NAME "+N"));
menu->addChild(MenuItem::create<DisconnectItem>("Disconnect cables"));
menu->addChild(MenuItem::create<OpenItem>("Open", WINDOW_MOD_KEY_NAME "+O"));
menu->addChild(MenuItem::create<SaveItem>("Save", WINDOW_MOD_KEY_NAME "+S"));
menu->addChild(MenuItem::create<SaveAsItem>("Save as", WINDOW_MOD_KEY_NAME "+Shift+S"));
menu->addChild(MenuItem::create<RevertItem>("Revert", WINDOW_MOD_KEY_NAME "+R"));
menu->addChild(MenuItem::create<QuitItem>("Quit", WINDOW_MOD_KEY_NAME "+Q"));
}
};



Loading…
Cancel
Save