Difference between revisions of "Integrating custom controls in Orbiter"
(→Understand AllScreens.h and ScreenHandler_Base class.) |
(→Understand AllScreens.h and ScreenHandler_Base class.) |
||
Line 26: | Line 26: | ||
From other application, the class can be used like this: | From other application, the class can be used like this: | ||
− | ''SCREEN_SingleCameraViewOnly screenSingleCameraViewOnly(DeviceIDFrom, DeviceIDTo, iPK_Device); | + | ''SCREEN_SingleCameraViewOnly screenSingleCameraViewOnly(DeviceIDFrom, DeviceIDTo, iPK_Device);'' |
− | SendCommand(screenSingleCameraViewOnly);'' | + | |
+ | ''SendCommand(screenSingleCameraViewOnly);'' | ||
ScreenHandler class is derived from ScreenHandlerBase class. | ScreenHandler class is derived from ScreenHandlerBase class. |
Revision as of 09:06, 2 May 2006
This page was written by Pluto and imported with their permission when LinuxMCE branched off in February, 2007. In general any information should apply to LinuxMCE. However, this page should be edited to reflect changes to LinuxMCE and remove old references to Pluto. |
A DesignObj is a graphic object from Orbiter. Each DesignObj may be a collection of DesignObj children and so on. On parent DesignObj can be associated with a screen, which gives the programmer the possibility to do custom additional actions with that DesignObj.
Contents
How to associate a DesignObj to a screen
Once the parent design object is created with the Designer, go in pluto_main database and insert into Screen table a record with a description and few comments about the new screen. Then check Screen_DesignObj table and add a recording to link the screen with the designobj. You might also want to specify the UI and the Skin.
How to use ScreenGen to regenerate screens and how to use it
Run ScreenGen with -h <host> command line parameter and you should see in src/Gen_Devices/AllScreens.h that handlers for your need screens were added.
Let's say your screen has PK_Screen = 39, with the description "Computing":
In Screen_DesignObj, you should have something like this:
Understand AllScreens.h and ScreenHandlerBase class.
There is another table in the database, Screen_CommandParameter which allows you to associate a screen with a collection of command parameters. This means you can send a "go to screen" command and attach to it this collection of parameters.
AllScreens.h header file contains inline definitions for wrapper command classes (SCREEN_* classese) which allow you to send a "go to screen" command with additional parameters, without creating the message "by hand". And example:
From other application, the class can be used like this: SCREEN_SingleCameraViewOnly screenSingleCameraViewOnly(DeviceIDFrom, DeviceIDTo, iPK_Device);
SendCommand(screenSingleCameraViewOnly);
ScreenHandler class is derived from ScreenHandlerBase class.