mirror of
https://github.com/AquaMorph/Droplets.git
synced 2025-04-30 09:45:35 +00:00
Working menu split and merge
This commit is contained in:
parent
1298c79196
commit
874bd8072a
@ -30,6 +30,8 @@ void ProcessControls() {
|
||||
// Split selected
|
||||
if(selected_menu->GetState() == MenuState::kSplit) {
|
||||
manager->ToggleSplit();
|
||||
left_menu->UpdateMenuState();
|
||||
right_menu->UpdateMenuState();
|
||||
// Enable split
|
||||
if (manager->GetSplitMode()) {
|
||||
droplet_left->UpdateState(DropletState::kLeft);
|
||||
|
12
src/menu.cpp
12
src/menu.cpp
@ -16,13 +16,12 @@ Menu::Menu(DaisyPatch* m_patch,
|
||||
buffer = selected;
|
||||
highlighted = selected;
|
||||
|
||||
head->SetStateVisibility(MenuState::kChange, false);
|
||||
|
||||
if (state == DropletState::kLeft) {
|
||||
head->SetStateTitle(MenuState::kChange, "Right");
|
||||
} else if (state == DropletState::kRight) {
|
||||
head->SetStateTitle(MenuState::kChange, "Left");
|
||||
}
|
||||
this->UpdateMenuState();
|
||||
}
|
||||
|
||||
bool Menu::InMenu() {
|
||||
@ -106,3 +105,12 @@ MenuState Menu::GetState() {
|
||||
return highlighted->GetState();
|
||||
}
|
||||
|
||||
void Menu::UpdateMenuState() {
|
||||
if (manager->GetSplitMode()) {
|
||||
head->SetStateVisibility(MenuState::kChange, true);
|
||||
head->SetStateTitle(MenuState::kSplit, "Merge");
|
||||
} else {
|
||||
head->SetStateVisibility(MenuState::kChange, false);
|
||||
head->SetStateTitle(MenuState::kSplit, "Split");
|
||||
}
|
||||
}
|
||||
|
@ -84,6 +84,11 @@ class Menu {
|
||||
* @return menu state
|
||||
*/
|
||||
MenuState GetState();
|
||||
|
||||
/*
|
||||
* Updates the menu upon a split or a merge.
|
||||
*/
|
||||
void UpdateMenuState();
|
||||
};
|
||||
|
||||
#endif // CASCADE_MENU_H_
|
||||
|
@ -91,7 +91,20 @@ class MenuItem {
|
||||
*/
|
||||
void ToggleVisibility();
|
||||
|
||||
/*
|
||||
* Set the visibility of all menu items with a given state.
|
||||
*
|
||||
* @param state
|
||||
* @param visibility
|
||||
*/
|
||||
void SetStateVisibility(MenuState m_state, bool visibility);
|
||||
|
||||
/*
|
||||
* Set the title of all menu items with a given state.
|
||||
*
|
||||
* @param state
|
||||
* @param title
|
||||
*/
|
||||
void SetStateTitle(MenuState m_state, std::string m_title);
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user