Eval » Historie » Revision 21
« Zurück |
Revision 21/46
(diff)
| Weiter »
Maximilian Seesslen, 24.08.2022 12:15
Eval¶
Widgets¶
There is a ODesktop that holds a list of OScreens (or only the curent).
There is a OScreen that holds a list of OWidgets.
When the touch is pressed, the corresponding button can be determined.
An signal can be emmited.
An press-event can be queued, An release-event can be queued. An click-event can be queued if current button matches original pressed button.
- OButton::draw(): completely draws the widget
- OButton::update(): only draw status-relevant items, e.g. pressed, released, time changed...
All screens can be prepared at start.
A Screen can be active or inactive.
Only one screen is active plus an navigation-screen?
Touch¶
There is an touch class that helps converting raw values to X-Y-coordinates. touch
CTouch will emit signals "pressed, released, clicked" that can be connected to libocelli.
Watch¶
- the OWatch class shows an clock with specific style, analog or digital
Example: Minutnik¶
- Main screen; CWatch, Add-Button
- Add-Screen
- Espresso, Weisswurst, Weiches Ei, Hartes Ei, Nudeln, Pizza, Waschmaschine, Cancel; Height 32
- Alarm Screen
- Logo, Splash screen at boot time and stand-by-screen
- Release v2.0.0: Mode-Screen: Minutnik, Clock, StopWatch
Example: CANDis¶
- Main screen
- Button for Light, Sensemux-Diagram, Activity (TV, Musik, Solder, Off), Miniminutnik
- Header with Clock
- Light-Screen
- Power-Widget
- Ok-Button
- Clock-Screen (Screen saver)
- Clock, Date, Temperature, Quick-Access-Buttons
Pointers¶
Like in Qt an widget has an parent.
Single App class vs. Screens¶
Having everything in an single class may be confusing. It may be split to per-Screen-classes.
CApp: Ocelli
{
public:
// OScreen *screens[3];
CApp()
{
addScreen(new );
}
}
CScreenMain: public OScreen
{
CApp &app;
OButton buttonAddTimer;
public:
CScreenMain()
buttonAddTimer(this)
{
}
addItemPressed()
{
app.switchScreen( eDesktopItems );
}
}
Von Maximilian Seesslen vor mehr als 2 Jahren aktualisiert · 21 Revisionen