Please enable JavaScript.
Coggle requires JavaScript to display documents.
HMI Application Architecture (HMI Framework compenents (Graphs,…
HMI Application Architecture
namespace
Hmi:Core
Hmi.Core
qrc:/Hmi/Core
submodules/technology/qt/hmi/core/source/Hmi/Core
init(), deInit(), registerTypesCreatable(), registertypesUncreatable(), registertypesSingleton()
filename
Hmi::Shared
HmiShared.cpp
HmiShared.hpp
Hmi::Shared::Module
initialized?
ready?
Q_PROPERTY(Hmi::Shared::Module* module READ getModule CONSTANT)
Hmi::shared::ModuleManagerObserver
Application Life-cycle
Hmi::Shared:Application
app.init(); app.exec();app.deInit();
Initialization
initmodules
Call registerTypes* functions.
Call getInstance and init on the Module's global singleton.
Call init on all child Modules.
Get the instance of Hmi::Shared::Module from the global singleton.
Call setInitialized( true ) on the Module instance.
Call setReady( true ) on the Module instance. Note that this call may occur outside the init function (e.g. in another callback), when the Module is actually ready.
initViewerApp
This is where the QML view is initialized.
showviewerApp
This is where the QML view is shown.
de-initialization
clearViewerApp
deInitModules
Get the instance of Hmi::Shared::Module from the global singleton.
Call setReady( false ) on the Module instance.
Call setInitialized( false ) on the Module instance.
Call deInit on all child Modules.
Call deInit on the Module's global singleton.
deInitViewerApp
This is where the QML view is initialized.
HMI Framework compenents
Graphs
FpsCalculator
Highlight manager
HmiAnimatedSprite
HmiTabView
HmiText
Arranger
ConfigManager
submodules/technology/qt/hmi/core folder
HMI shared compenents
Datamanager
HardwareButtonManager
LocaleManager
SignalServiceManger
StartupManager
shared Text handles
HandleTextDistance
handleTextFuelConsumption
HandleTextXXX
hmi/shared folder
Hmi Navigation Components
hmi/navigation/
Hmi K2 Components
Mode manager
K2 Visual Components
naming
K2
K2 is used when developers should always use the K2 specific component over the existing component from another module
default
Default is used when it is acceptable for developers to use both the K2 specific component and the existing component from another module
For example: ButtonDefault uses Default (instead of K2) since we allow K2 developers to use HMI Core's Button component when they don't need the default look and feel. However, TextEntryK2 uses K2 (instead of Default) because K2 developers should never use HMI Core's TextEntry component, since TextEntryK2 provides the needed functionality to interact appropriately with the virtual keyboard in K2.