mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 21:22:46 +00:00 
			
		
		
		
	 7f2eeb0b35
			
		
	
	
		7f2eeb0b35
		
	
	
	
	
		
			
			Any GWidget can have a tooltip and it will automatically pop up below the center of the widget when hovered. GActions added to GToolBars will use the action text() as their tooltip automagically. :^)
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			878 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			878 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include <AK/Badge.h>
 | |
| #include <AK/OwnPtr.h>
 | |
| #include <AK/HashMap.h>
 | |
| #include <LibGUI/GShortcut.h>
 | |
| 
 | |
| class GAction;
 | |
| class GKeyEvent;
 | |
| class GEventLoop;
 | |
| class GMenuBar;
 | |
| class Point;
 | |
| 
 | |
| class GApplication {
 | |
| public:
 | |
|     static GApplication& the();
 | |
|     GApplication(int argc, char** argv);
 | |
|     ~GApplication();
 | |
| 
 | |
|     int exec();
 | |
|     void quit(int);
 | |
| 
 | |
|     void set_menubar(OwnPtr<GMenuBar>&&);
 | |
|     GAction* action_for_key_event(const GKeyEvent&);
 | |
| 
 | |
|     void register_shortcut_action(Badge<GAction>, GAction&);
 | |
|     void unregister_shortcut_action(Badge<GAction>, GAction&);
 | |
| 
 | |
|     void show_tooltip(const String&, const Point& screen_location);
 | |
|     void hide_tooltip();
 | |
| 
 | |
| private:
 | |
|     OwnPtr<GEventLoop> m_event_loop;
 | |
|     OwnPtr<GMenuBar> m_menubar;
 | |
|     HashMap<GShortcut, GAction*> m_shortcut_actions;
 | |
|     class TooltipWindow;
 | |
|     TooltipWindow* m_tooltip_window { nullptr };
 | |
| };
 |