✅ Ability to set the target element
, style
and text
of the tooltip.
✅ A preview
of a mobile screen with button elements.
✅ The tooltip works seamlessly
for buttons at any location of the mobile screen preview.
✅ Ability to include an image
inside tooltip. (Added inputs for styling in screen 1).
✅ Added local database
to save to tooltips data.
✅ Added Real-Time Tooltip preview
on Screen 1.
✅ Added Splash Screen
(Loading Screen with Plotline icon).
✅ Added Application Icon
(Loading Screen with Plotline icon).
-
get: ^4.6.5
- Description: A state management library for Flutter applications, providing reactive programming capabilities and simplifying access to controllers and observables.
- Usage: Facilitates efficient state management and dynamic user interface updates.
-
google_fonts: ^5.1.0
- Description: Simplifies the integration of custom Google Fonts into Flutter apps, offering a diverse selection of font styles.
- Usage: Allows easy inclusion and application of unique Google Fonts to enhance typography within the application.
-
shared_preferences: ^2.2.0
- Description: A Flutter plugin that enables reading and writing of simple key-value pairs to persistent storage on the device using shared preferences.
- Usage: Offers data persistence across app launches, making it useful for storing and retrieving user preferences and small data sets.
- Entry point of the app.
- Initializes the app and sets up
MyApp
widget. - Uses
GetMaterialApp
for theming and routing. - Sets
formScreen
as the home screen.
- Main form screen for tooltip customization.
- Components:
screenInput
,screenText
,ValueListenableBuilder
,Obx
,ElevatedButton
. - Allows users to customize tooltip properties.
- Observes changes in controller's fields for dynamic UI updates.
- Manages state for the form screen.
- Tracks selected option and tooltip properties.
- Saves form data to shared preferences.
The buttonScreen.dart
file represents the rendering screen where tooltips are displayed upon interacting with buttons.
Key Functions and Components:
buttonScreen
class: Defines the rendering screen widget.buttons
: Creates styled buttons for each element, used to trigger tooltip display.tooltipUpTriangle
andtooltipDownTriangle
classes: Custom painters for drawing tooltip triangles.Obx
: Observes changes in controller'si
anddata
fields to display tooltips dynamically based on button interactions.
The buttonScreenController.dart
file contains the GetX controller class managing the tooltip rendering screen.
Key Functions and Components:
buttonScreenController
class: Manages the state of the tooltip rendering screen.i
: RxInt tracking the button interactions.data
: RxList holding data for tooltips.onInit
: Lifecycle hook fetching and initializing tooltip data.getFormData
: Retrieves tooltip data from shared preferences.deleteData
: Deletes specific tooltip data from shared preferences.
-
Customize Tooltip: Input properties for customization.
-
Save Tooltip: Press "Save Tooltip" to save data using shared preferences.
-
Render Tooltip: Navigate to rendering screen to see tooltip based on saved data.
-
Rendering Tooltip: Press buttons labeled "Button 1" through "Button 5" to interactively render tooltips with saved properties.
-
Data Retrieval: The tooltip data is retrieved from shared preferences upon initializing the screen.
-
Data Deletion: Pressing a button triggers the deletion of the respective tooltip data from shared preferences.