1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 01:37:36 +00:00

GTableView: Make it possible to hide/show columns from a context menu.

Show a context menu when right clicking the headers of a GTableView, and
allow the user to hide/show individual columns.
This commit is contained in:
Andreas Kling 2019-05-10 20:26:55 +02:00
parent dbf7878998
commit 613c7b9856
4 changed files with 64 additions and 23 deletions

View file

@ -22,23 +22,23 @@ public:
ApplicationGlobal,
WidgetLocal,
};
static Retained<GAction> create(const String& text, Function<void(const GAction&)> callback, GWidget* widget = nullptr)
static Retained<GAction> create(const String& text, Function<void(GAction&)> callback, GWidget* widget = nullptr)
{
return adopt(*new GAction(text, move(callback), widget));
}
static Retained<GAction> create(const String& text, const String& custom_data, Function<void(const GAction&)> callback, GWidget* widget = nullptr)
static Retained<GAction> create(const String& text, const String& custom_data, Function<void(GAction&)> callback, GWidget* widget = nullptr)
{
return adopt(*new GAction(text, custom_data, move(callback), widget));
}
static Retained<GAction> create(const String& text, RetainPtr<GraphicsBitmap>&& icon, Function<void(const GAction&)> callback, GWidget* widget = nullptr)
static Retained<GAction> create(const String& text, RetainPtr<GraphicsBitmap>&& icon, Function<void(GAction&)> callback, GWidget* widget = nullptr)
{
return adopt(*new GAction(text, move(icon), move(callback), widget));
}
static Retained<GAction> create(const String& text, const GShortcut& shortcut, Function<void(const GAction&)> callback, GWidget* widget = nullptr)
static Retained<GAction> create(const String& text, const GShortcut& shortcut, Function<void(GAction&)> callback, GWidget* widget = nullptr)
{
return adopt(*new GAction(text, shortcut, move(callback), widget));
}
static Retained<GAction> create(const String& text, const GShortcut& shortcut, RetainPtr<GraphicsBitmap>&& icon, Function<void(const GAction&)> callback, GWidget* widget = nullptr)
static Retained<GAction> create(const String& text, const GShortcut& shortcut, RetainPtr<GraphicsBitmap>&& icon, Function<void(GAction&)> callback, GWidget* widget = nullptr)
{
return adopt(*new GAction(text, shortcut, move(icon), move(callback), widget));
}
@ -71,11 +71,11 @@ public:
void unregister_menu_item(Badge<GMenuItem>, GMenuItem&);
private:
GAction(const String& text, Function<void(const GAction&)> = nullptr, GWidget* = nullptr);
GAction(const String& text, const GShortcut&, Function<void(const GAction&)> = nullptr, GWidget* = nullptr);
GAction(const String& text, const GShortcut&, RetainPtr<GraphicsBitmap>&& icon, Function<void(const GAction&)> = nullptr, GWidget* = nullptr);
GAction(const String& text, RetainPtr<GraphicsBitmap>&& icon, Function<void(const GAction&)> = nullptr, GWidget* = nullptr);
GAction(const String& text, const String& custom_data = String(), Function<void(const GAction&)> = nullptr, GWidget* = nullptr);
GAction(const String& text, Function<void(GAction&)> = nullptr, GWidget* = nullptr);
GAction(const String& text, const GShortcut&, Function<void(GAction&)> = nullptr, GWidget* = nullptr);
GAction(const String& text, const GShortcut&, RetainPtr<GraphicsBitmap>&& icon, Function<void(GAction&)> = nullptr, GWidget* = nullptr);
GAction(const String& text, RetainPtr<GraphicsBitmap>&& icon, Function<void(GAction&)> = nullptr, GWidget* = nullptr);
GAction(const String& text, const String& custom_data = String(), Function<void(GAction&)> = nullptr, GWidget* = nullptr);
template<typename Callback> void for_each_toolbar_button(Callback);
template<typename Callback> void for_each_menu_item(Callback);