Revision as of 15:11, 18 August 2015 by Danijel (talk | contribs) (Widgets)
Jump to: navigation, search

General app settings

Assumed implementations that exist

tickets description hours
configuration.xml 93h
13967 styles.xml 46h
22261 ginstr language 26h + produces new tickets
to estimate Bojan create universal methods for data storing/retrieving from widgets to variables , from variables to widgets, from query to widgets, from widgets to database (write actions, update actions) -h
to estimate Bojan create abstraction layer for each datatype : GPS, TEXT, ... atm this is done trough group of maps and submaps which is not ok| title="hours" -h
to estimate Bojan validation actions -h


Theme represents a group of resources which form visual appearance of certain ginstr app, and is declared by theme name which is unique for the app.

Theme consists of:

  • styles.xml - which provides various styles definitions for certain widgets
  • drawable folders - contain graphic which will be applied when ginstr launcher is started

When theme and shape is selected in ginstr app composer. Styles.xml will be downloaded from ginstr server for this theme into app composer folder where app is being constructed and also all drawable folders related will get copied to the same folder.

Ids forming rules

Each new widget of this type with identical label added to screen will generate identical ids with increment number +1 at end ; id of first widget will have no number at the end, 2nd widget with same label will have "2" at the end, i.e. @+id/pageOneNumberLabel on first widget will be @+id/pageOneNumberLabel2 on 2nd widget with identical label

  • android:id - pageName+ColumnName+InternalElement(+ "2") , i.e. @+id/pageOneNumberLabel(+ "2")
  • android:text, ek:s_hint - pageName+ColumnName+InternalElement(+ "2") , i.e. @string/pageOneNumberLabel(+ "2")
  • validator messages - pageName+ColumnName+ValidatorSpecificMessageID(+ "2"), i.e. @string/pageOneNumberDecimalLengthLimit(+ "2")





Font Colours


ginstr app icon

ginstr app name

Widget groups

Widget grouping is organization of widgets into categories by function they perform Groups:

group name description
Screens Contains all screen widgets. Ready to go predefined screens which can be filled with other widgets or used as is.
Menu bar top navigation menu variants which can be added to screen.
Time/Date widgets that have to do with date and time
Text textual input widgets from different sources
Number numeric input widgets
Location widgets which obtain location from various sources
Media audio, video, photo and other media widgets
Contact widgets that relate to communication
Social interaction with other apps
Audit widgets that are hidden and used for log relevant data about who made records when etc...
Relations widgets that are used to establish relation between different tables
Dropdown dropdown variation widgets that contain some predefined data
Signature signature widgets
CheckBox checkbox widgets
Reports widgets used to display data


Widgets represent a visual control which can be added to ginstr app screens from ginstr app composer widget toolbox.
Widgets are organised in functional groups.

The following widgets are currently implemented into the ginstr app composer and fully supported by the ginstr launcher:

widget id functional group widget name style Comment
screenSave Screens Screen save entire screen layout which is ready to receive various widgets and has save button
screenNext Screens Screen next entire screen layout which is ready to receive various widgets and has next button
screenOption Screens Screen menu navigational menu which leads to more screens, ready to receive various widgets
screenLogin Screens Login screen entire screen which preforms login function with ginstr cloud
menuBarLogout Menu bars Menu bar logout menu bar that can be dropped into screen which aligns at the top and contains logout button
dateReadOnly Time/Date Date read only read only widget which displays label and date below
dateEditable Time/Date Date editable
timeEditable Time/Date Time editable
timeReadOnly Time/Date Time read only
dateTimeEditable Time/Date Date time editable
dateTimeReadOnly Time/Date Date time read only
textEditable Text Text editable @style/textEditableGnEditText text widget
textMultiline Text Text multiline @style/textMultilineGnEditText multiline text widget
textReadOnly Text Text read only @style/textReadOnlyGnEditText read only text widget
textNfc Text Nfc @style/textNfcGnEditText read nfc tag data widget
textBarcode Text Barcode @style/textBarcodeGnEditText read barcode data widget
numberInteger Number Integer @style/numberIntegerGnEditText number integer widget
numberDecimal Number Decimal @style/numberDecimalGnEditText number decimal widget
numberPercentage Number Percentage
numberNotNegative Number Not negative
numberCurrency Number Currency @style/numberCurrencyGnEditText number currency widget
locationGps Location Gps coordinates
locationAddress Location Gps address
locationWifi Location Wifi position
locationBluetooth Location Bluetooth position
locationMap Location Map
locationRoute Location Route
mediaAudio Media Audio
mediaPhoto Media Photo
mediaVideo Media Video
mediaDocument Media Document
contactEmail Contact Email
contactFax Contact Fax
contactGroundLine Contact Ground line
contactSms Contact Sms
contactMobile Contact Mobile
socialSomething social Social something
auditTimestamp Audit Timestamp
auditSerial Audit Phone serial
auditUser Audit Ginstr username
auditAddress Audit Gps address hidden
auditCoordinates Audit Gps coordinates hidden @style/auditCoordinatesGnEditText widget acquires location from device and once obtained it sets the location coordinates latitude and longitude into the input box of the widget.
Location coordinates are loaded in format "latitude,longitude" , this widget is invisible
relationsDropdown Relations Dropdown relation
relationsAssignment Relations Assignment relation
relationsAutocomplete Relations Autocomplete relation
dropdownYesNo Dropdown Dropdown Yes/No
dropdownDefault Dropdown Dropdown default
dropdownGender Dropdown Dropdown Gender
dropdownRating Dropdown Dropdown rating
signature Signature Signature
checkBox Checkbox CheckBox
reportsListview Reports Listview
reportsInvoice Reports Invoice

Widget internal id's forming:

  • pageName + user input + counter (if more than one instance)
  • i.e. pageOneFirstNameLabel
  • i.e. pageOneFirstNameLabel2

Custom control id's forming:

  • "styleControl" + widgetType of control + widgettype of internal element
  • i.e. "styleControlgnEditTextButton


Screens - (SingleScreenSave, SingleScreenNext, Options(menu), LoginScreen,...) 
Menu bar - (combinations of menu settings)
Time/Date - (time , date , time and date, duration, today, yesterday, weekdays...)
Text - (single line , multiline, ...)
Number - (integer, decimal, precentage, not negative, currency - with sign)
Location (gps , gps address, position-wifi,bluetooth, map, route)
Media (audio , photo jpeg , photo png, video , document)
Contact (email , fix line, fax , sms, mobile phone...)
Social (intent things) 
Audit  - (timestamp hidden, serial number hidden, username hidden, gps hidden...)
Relations (assignment - not yet , dropdown, autocomplete)
Dropdown - (yes/no , etc... generic dropdown, list of allowed values, male-female, rating )
Reports (invoices, ListView)