Browse Source

Added a LookAndFeel method preparePopupMenuWindow() to allow the window component to be customised before being displayed

tags/2021-05-28
jules 9 years ago
parent
commit
151e3f769e
4 changed files with 6 additions and 0 deletions
  1. +2
    -0
      modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp
  2. +1
    -0
      modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h
  3. +1
    -0
      modules/juce_gui_basics/menus/juce_PopupMenu.cpp
  4. +2
    -0
      modules/juce_gui_basics/menus/juce_PopupMenu.h

+ 2
- 0
modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp View File

@@ -1080,6 +1080,8 @@ Component* LookAndFeel_V2::getParentComponentForMenuOptions (const PopupMenu::Op
return options.getParentComponent();
}
void LookAndFeel_V2::preparePopupMenuWindow (Component&) {}
//==============================================================================
void LookAndFeel_V2::fillTextEditorBackground (Graphics& g, int /*width*/, int /*height*/, TextEditor& textEditor)
{


+ 1
- 0
modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h View File

@@ -162,6 +162,7 @@ public:
void getIdealPopupMenuItemSize (const String& text, bool isSeparator, int standardMenuItemHeight,
int& idealWidth, int& idealHeight) override;
int getMenuWindowFlags() override;
void preparePopupMenuWindow (Component&) override;
void drawMenuBarBackground (Graphics&, int width, int height, bool isMouseOverBar, MenuBarComponent&) override;
int getMenuBarItemWidth (MenuBarComponent&, int itemIndex, const String& itemText) override;


+ 1
- 0
modules/juce_gui_basics/menus/juce_PopupMenu.cpp View File

@@ -903,6 +903,7 @@ public:
.withTargetComponent (nullptr),
false, dismissOnMouseUp, managerOfChosenCommand);
getLookAndFeel().preparePopupMenuWindow (*activeSubMenu);
activeSubMenu->setVisible (true); // (must be called before enterModalState on Windows to avoid DropShadower confusion)
activeSubMenu->enterModalState (false);
activeSubMenu->toFront (false);


+ 2
- 0
modules/juce_gui_basics/menus/juce_PopupMenu.h View File

@@ -707,6 +707,8 @@ public:
MenuBarComponent&) = 0;
virtual Component* getParentComponentForMenuOptions (const PopupMenu::Options& options) = 0;
virtual void preparePopupMenuWindow (Component& newWindow) = 0;
};
private:


Loading…
Cancel
Save