\n"
lomiri-action-api-1.1.3/documentation/cpp/pages/ 0000775 0000000 0000000 00000000000 14555425163 0021575 5 ustar 00root root 0000000 0000000 lomiri-action-api-1.1.3/documentation/cpp/pages/context.dox 0000664 0000000 0000000 00000004705 14555425163 0024003 0 ustar 00root root 0000000 0000000 /*!
\page page_contexts Action Contexts
\section sec_overview Overview
Application which has different views needs to manage it actions based on the currently active view;
not all of the actions supported by the application might be relevant or applicable on all of the views.
Therefore Lomiri Action API provides action contexts; a context groups actions together and by providing multiple contexts
the developer is able to control the visibility of the actions. The ActionManager then exposes the actions from
these different contexts.
\image html context_overview.png
Each application has one global context; the actions in this context are always available. The application may have one or more
additional local context of which only one can be active at a time. The ActionManager merges the global context and the active local
context together; the actions available at any given time is the union of the global context and the active local context.
\image html multiple_contexts.png
\section sec_single_context Applications with Single Context
For applications that do not require multiple contexts using the API is straight forward as the
ActionManager provides the global context automatically.
First, create the Action:
\snippet action-context/action-context.cpp create global action
And add it to the ActionManager:
\snippet action-context/action-context.cpp add global to manager
myAction is now added to the global context.
\section sec_multiple_contexts Applications with Multiple Contexts
When multiple contexts are needed the developer creates suitable number of ActionContext objects,
adds the actions to the contexts, adds the contexts to the manager and sets the active one.
Setting the active context must be managed by the developer. The can only be one active
local context at a time.
Create the local actions:
\snippet action-context/action-context.cpp create local actions
Create the local contexts:
\snippet action-context/action-context.cpp create contexts
Add the local actions to the contexts:
\snippet action-context/action-context.cpp add context actions
Add the local contexts to the manager:
\snippet action-context/action-context.cpp add local ctx to manager
Manage the active context by setting the active property on any of them:
\snippet action-context/action-context.cpp set context active
Setting an another context active later will inactivate the previously active one.
---
The complete example:
\include action-context/action-context.cpp
*/
lomiri-action-api-1.1.3/documentation/cpp/pages/future-plans.dox 0000664 0000000 0000000 00000002724 14555425163 0024743 0 ustar 00root root 0000000 0000000 /*!
\page page_future-plans Future Development Plans
\section sec_action Action
\subsection sec_action-state State Property
Action should be able to hold a state. State is persistent compared to the onTriggered() value.
State allows us to do more complex interaction with the external platform components.
\section sec_preview-action Preview Action
\subsection sec_preview-action-modes Preview Modes
Currently the PreviewAction does all the previews "live;" the values update continuously and the application is
expected to generate the preview on constantly.
This can be problematic if the application is unable to generate a preview or generating the preview is so expensive
resource-wise that it's not feasible to do a live preview.
In the future the PreviewAction will offer more preview modes which allows the developer to specify manual or partial previews.
\subsection sec_preview-action-layout Layout for PreviewParameters
Currently the PreviewAction does not offer a way to control the layout of the PreviewParameters. In the future a layout support could be added.
\subsection sec_preview-action-more-parameters Additional Preview Parameters
Currently the only supported preview parameter is the PreviewRangeParameter. We need more parameter types like Text, Boolean and ListSelection.
\section sec_context ActionContext
\subsection sec_custom-toolbar-item Custom HUD Toolbar Items
Application should be able to provide their own custom toolbar items in the HUD toolbar.
*/
lomiri-action-api-1.1.3/documentation/cpp/pages/mainpage.dox 0000664 0000000 0000000 00000003250 14555425163 0024072 0 ustar 00root root 0000000 0000000 /*!
\mainpage Lomiri Action API
\tableofcontents
\section sec_introduction Introduction
Lomiri Action API offers a way to easily integrate with the Lomiri components outside of the application such as the Launcher, HUD, AppMenu and MessagingMenu.
Applications have internally different types of actions with different life-cycles. Some actions are application wide that are relevant and
available throughout the whole life-cycle of the application. Other actions are context specific and only available when the application is in
certain visual state, such as in image editing mode. See \ref page_contexts "Action Contexts" for more details.
Application can define application wide actions dynamically during runtime and as offline (jumplist) actions that are available even if the
application is not running. Activating an offline action will launch the application when necessary.
Lomiri Action API can be used with three ways:
- \ref using-cpp "using this Qt C++ API"
- Using the QML module directly (see the QML documentation)
- Using the UI Toolkit
UI Toolkit simplifies the ActionContext management and provides ActionManager as part of the MainView. See the UI Toolkit documentation for
more details.
\section sec_general General Topics
- \ref page_contexts "Action Contexts"
- \ref page_preview-actions "Preview Actions"
- \ref page_platform-integration "Platform Integration"
- \ref page_offline-actions "Offline Actions"
- \ref page_future-plans "Future Development Plans"
\section sec_bug_reports Reporting Bugs
If you find any problems with the or this documentation,
please file a bug in Lomiri Action API [Launchpad page](https://bugs.launchpad.net/lomiri-action-api).
*/
lomiri-action-api-1.1.3/documentation/cpp/pages/offline-actions.dox 0000664 0000000 0000000 00000002625 14555425163 0025376 0 ustar 00root root 0000000 0000000 /*!
\page page_offline-actions Offline Actions
Applications can define offline (jump list) actions in their .desktop files. These actions are available in the Launcher,
AppMenu, HUD and MessagingMenu even if the application is not running. When an offline action is executed and the application
is not running the application is started and executes the given action on startup, but for the user it does not make any
difference if the application is running or not prior to the action invocation.
---
This example assumes we have a mail application, MailApp. This application defines offline actions in mail-app.desktop:
\include mail-app/mail-app.desktop
The desktop file's Actions key lists the offline actions. Each action then has its own group entry in the .desktop file.
MailApp defines two offline actions: Compose and Contacts.
By leaving the Exec keys empty for the actions the platform will invoke the Lomiri Actions defined by the application.
Now, the Application has to define corresponding actions in it's code:
\snippet mail-app/mail-app.cpp setting the compose name
\snippet mail-app/mail-app.cpp setting the contacts name
And finally add the actions to the manager.
\snippet mail-app/mail-app.cpp add to manager
---
Here is the full example also showing the connections to the Action::triggered() signal:
\include mail-app/mail-app.cpp
*/
lomiri-action-api-1.1.3/documentation/cpp/pages/platform-integration.dox 0000664 0000000 0000000 00000001266 14555425163 0026463 0 ustar 00root root 0000000 0000000 /*!
\page page_platform-integration Platform Integration
Lomiri Action API offers a way for application to integrate with the platform components such as the Lomiri Launcher and the Lomiri HUD.
The ActionManager exports the actions to D-Bus which allows external components and even 3rd party applications to interact with the actions.
\image html images/platform_integration.png "Platform Integration through D-Bus."
One of the key benefits of Lomiri Action API is that it allows seamless integration with the Lomiri HUD; All Lomiri Actions are available to
the HUD once they have been added to the ActionManager.
\image html images/hud_screenshot.jpg "The HUD showing some actions."
*/
lomiri-action-api-1.1.3/documentation/cpp/pages/preview-actions.dox 0000664 0000000 0000000 00000005115 14555425163 0025432 0 ustar 00root root 0000000 0000000 /*!
\page page_preview-actions Preview Actions
The preview action is an action that allows the application to generate a preview of the action before
the action is applied. The preview is controlled by the HUD UI.
PreviewActions contain one or more parameters which form the preview parameters of the action.
The PreviewAction has additional extra requirements compared to other Actions:
- It can have multiple parameters whose values can be seen and changed over the bus
- The parameters' ordering can be specified by client code
- It adds new signals to control the preview mode: started, cancelled, resetted
The ordering of the parameters is specified by the order in which the actions are defined in the parameters list.
PreviewAction does not have a value of it's own. Instead the values of the parameters provide the information
on which the preview is generated.
\image html hud_parameters.jpg "HUD UI showing Color Balance action with four slider parameters"
\section sec_control_signals Control Signals
Diagram describing when the different signals are emitted:
\image html preview_action_signals.png
started signal informs the application that it must set up a preview view and start updating the
preview based on the values of the defined preview parameters.
resetted signal informs the application that it has to reset the parameter values to their original values.
cancelled signal informs the application that the user cancelled the PreviewAction. At this point the application
must return the the state it was in at the time the started() signal was triggered without applying any changes.
triggered signal informs the application the user wants the changes to be applied.
\section sec_example Example
This example shows how to create a PreviewAction with a single range parameter.
First a PreviewAction is created and set up:
\snippet preview-action/preview-action.cpp create previewaction
Then a PreviewRangeParameter:
\snippet preview-action/preview-action.cpp create rangeparameter
After all the parameters have been created they are added to the PreviewAction:
\snippet preview-action/preview-action.cpp set previewaction parameters
And finally the PreviewAction is added to the ActionManager:
\snippet preview-action/preview-action.cpp add to manager
Then hooking up the control signals:
\snippet preview-action/preview-action.cpp connect previewaction signals
And not forgetting the parameter value updates:
\snippet preview-action/preview-action.cpp connect parameter signals
---
The complete example:
\include examples/preview-action/preview-action.cpp
*/
lomiri-action-api-1.1.3/documentation/cpp/pages/using-cpp.dox 0000664 0000000 0000000 00000000661 14555425163 0024221 0 ustar 00root root 0000000 0000000 /*!
\page using-cpp Using the C++ API
Install the development headers:
\code{.txt}
sudo apt-get install liblomiri-action-qt1-dev
\endcode
Use pkg-config to get the necessary compilation flags:
\code{.txt}
$ g++ myapp.cpp `pkg-config --cflags --libs lomiri-action-qt-1` -o myapp
\endcode
The headers can then be included as:
\code{.cpp}
// includes the lomiri::action::Action class
#include
\endcode
*/
lomiri-action-api-1.1.3/documentation/images/ 0000775 0000000 0000000 00000000000 14555425163 0021161 5 ustar 00root root 0000000 0000000 lomiri-action-api-1.1.3/documentation/images/context_overview.png 0000664 0000000 0000000 00000143201 14555425163 0025302 0 ustar 00root root 0000000 0000000 PNG
IHDR Y sBIT|d pHYs
B(x tEXtSoftware www.inkscape.org< RtEXtCopyright CC Attribution-ShareAlike http://creativecommons.org/licenses/by-sa/3.0/^Z IDATxw|l˦76 D@TĠґ&]7S!
GAH@edaM lL|C2sܳggܫ,7 D"B!n'K#jNF!BH/'U!Btx ]5!B!8&.wy Og$BqeL~
JDH1R!!B!j)ЅB!A@B!]!BD
t!B!j)ЅB!A@B!|^zX,z=+Wdʕ,Yɓ'sUWUEUCܹY!&H# 0n8F? 6͛7SV-Otua dffrmC8eٲefѢE}5]߾}۷ou!Bqٺp0m4TU_,UFn2MKK?DQZjEHHH9~8YYYQn]7n\Dǻ~+!99?^OӦMS{JHH@Qׯ(F"""\UUu`0Yf~
yg0qD;w.:: l6"##1rssIOO'(( qRRRQFR9r1ҰZԩSf͚NQQu-5䦠 !;;Ljժ_>9tAAA4m-Ϝ222\ui ݶgddCXX>>>=B!K.YÑ#Ghڴ)}1yyyL>˗m0` >(ޮm}~!駟.۷3h {楗^Eŋbu]<#L&z=3f`<3nfΜɧ~#}\J.Y$f̘jiۗ.]`08z(sᥗ^"**xƍ3x`w