From wiki.ginstr.com
Jump to: navigation, search
m
(Events)
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
<div style="float:right; clear:both; margin-left:0.5em;">__TOC__</div>
 
<div style="float:right; clear:both; margin-left:0.5em;">__TOC__</div>
 
<span STYLE="font-size: xx-large"><code>GnEmail</code></span>
 
<span STYLE="font-size: xx-large"><code>GnEmail</code></span>
[[Category:Widget_Library]]
+
[[Category:Widget_Library]][[Category:Controls]]
;Inherited classes: <code>[http://developer.android.com/reference/android/view/View.html View]</code>
 
;Android class type: <code>[http://developer.android.com/reference/android/widget/LinearLayout.html LinearLayout]</code>
 
;Child elements: <code>[http://developer.android.com/reference/android/widget/TextView.html TextView]</code>, <code>[http://developer.android.com/reference/android/widget/Button.html Button]</code>
 
;Widget XML tag: <code><com.ginstr.widgets.GnEmail></code>
 
  
 +
;Widget XML tag
 +
: <code><com.ginstr.widgets.GnEmail></code>
  
<code>[[GnEmail]]</code> provides support to enter email data into email datatype. It is used to store and retrieve data from the database. Once data is in the widget it’s possible to edit the data by clicking <code>edit</code> button.
+
;Description
 +
: <code>[[GnEmail]]</code> provides support to enter email data into email datatype. It is used to store and retrieve data from the database.
  
On click, a new dialog window will open which has <code>add</code>, <code>edit</code>, <code>remove</code> and <code>close</code> buttons which can be used to manipulate emails.
+
: Once data is in the widget it’s possible to edit the data by clicking the '''edit''' button.
  
The dialog has a built in [[gn:act_validateScreen|validate screen action]] when <code>add</code> or <code>edit</code> is executed.
+
: On click, a new dialog window will open which has '''add''', '''edit''', '''remove''' and '''close''' buttons which can be used to manipulate emails.
  
By default, widget definition can be found in '''$defaultApp/control/[[#widget_en_email.xml|widget_en_email.xml]]'''. This layout describes how the widget will look on screen.
+
: The dialog has a built in [[gn:act_validateScreen|validate screen action]] when '''add''' or '''edit''' is executed.
  
The dialog screen that loads on clicking <code>edit</code> can be found at '''$defaultApp/control/[[#dialog_en_email.xml|dialog_en_email.xml]]'''
+
: By default, widget definition can be found in <code>$defaultApp/control/[[#widget_en_email.xml|widget_en_email.xml]]</code>. This layout describes how the widget will look on screen.
  
Dialog screen listview row definition can be found at '''$defaultApp/control/[[#dialog_en_email_row.xml|dialog_en_email_row.xml]]'''
+
: The dialog screen that loads on clicking '''edit''' is defined by <code>$defaultApp/control/[[#dialog_en_email.xml|dialog_en_email.xml]]</code>
  
All of the aforementioned layouts can be used to modify the look and feel of the widget.
+
: Dialog screen listview row definition can be found at <code>$defaultApp/control/[[#dialog_en_email_row.xml|dialog_en_email_row.xml]]</code>
 +
 
 +
: All of the aforementioned layouts can be used to modify the look and feel of the widget.  
 +
 
 +
==XML Attributes Description==
 +
: none
 +
 
 +
==Events==
 +
: <code>[[gn:act_setClick]]</code>
 +
: <code>[[gn:act_setLongClick]]</code>
 +
 
 +
==Data types==
 +
{| class="wikitable sortable" style="font-size: 85%; text-align: left;"
 +
|-
 +
! scope="col" | Input
 +
|-
 +
| title="Value" | <code>[[Datatypes#email|email]]</code>
 +
|}
 +
 
 +
{| class="wikitable sortable" style="font-size: 85%; text-align: left;"
 +
|-
 +
! scope="col" | Output
 +
|-
 +
| title="Value" | <code>[[Datatypes#email|email]]</code>
 +
|}
 +
 
 +
==Example==
 +
<syntaxhighlight code="xml">
 +
<com.ginstr.widgets.GnEmail
 +
  android:id="@+id/plant_userNameRecordCreation"
 +
  android:layout_width="match_parent"
 +
  android:layout_height="wrap_content" />
 +
</syntaxhighlight>
  
 
==Alternative layout==
 
==Alternative layout==
If the default look and feel needs to be changed, create or copy identical files from '''$defaultApp''' to current app "control" folder.
+
: If the default look and feel needs to be changed, create or copy identical files from '''$defaultApp''' to current app "'''control'''" folder.
 
+
: To provide alternative layout, the files mentioned  above can be set into control folder of the current application. Files must be named as shown above and widgets with Id’s have to stay of same type and keep same id.
To provide alternative layout, the files mentioned  above can be set into control folder of the current application. Files must be named as shown above and widgets with Id’s have to stay of same type and keep same id.
 
  
 
===widget_en_email.xml===
 
===widget_en_email.xml===
;<code>[http://developer.android.com/reference/android/widget/TextView.html TextView]</code> <code>@+id/etEmail</code>: this text field represents emails stored in the widget
+
:{| class="wikitable sortable" style="font-size: 85%; text-align: left;"
;<code>[http://developer.android.com/reference/android/widget/Button.html Button]</code><code>@+id/etEmailManage</code>: this button opens dialog screen to manage email entries
+
|-
 +
! scope="col" | Widget
 +
! scope="col" | Name
 +
! scope="col" | Description
 +
|-
 +
| title="Widget" | <code>[http://developer.android.com/reference/android/widget/TextView.html TextView]</code>
 +
| title="Name" | <code>@+id/etEmail</code>
 +
| title="Description" | this text field represents emails stored in the widget
 +
|-
 +
| title="Widget" | <code>[http://developer.android.com/reference/android/widget/Button.html Button]</code>
 +
| title="Name" | <code>@+id/etEmailManage</code>
 +
| title="Description" | this button opens dialog screen to manage email entries
 +
|}
  
 
===dialog_en_email.xml===
 
===dialog_en_email.xml===
;<code>[[GnEditText]]</code> <code>@+id/etEmailDialogName</code>: this input field is used to define email entry <code>name</code> attribute
+
:{| class="wikitable sortable" style="font-size: 85%; text-align: left;"
;<code>[[GnEditText]]</code> <code>@+id/etEmailDialogAddress</code>: this input field is used to define email entry <code>email</code> attribute
+
|-
;<code>[http://developer.android.com/reference/android/widget/ListView.html ListView]</code> <code>@+id/lstEmailDialogAddresses</code>: displays currently stored email entries in widget
+
! scope="col" | Widget
;<code>[http://developer.android.com/reference/android/widget/Button.html Button]</code><code>@+id/btnEmailDialogAdd</code>: this button adds data that is set into <code>[[GnEditText|GnEditTexts]]</code> into widget and refreshes the listview
+
! scope="col" | Name
;<code>[http://developer.android.com/reference/android/widget/Button.html Button]</code><code>@+id/btnEmailDialogEdit</code>: this button, after clicking on list item and modifying entry data, will replace stored entry data with newly entered data
+
! scope="col" | Description
;<code>[http://developer.android.com/reference/android/widget/Button.html Button]</code><code>@+id/btnEmailDialogRemove</code>: after clicking on list item, clicking this button will remove the entry from the list
+
|-
;<code>[http://developer.android.com/reference/android/widget/Button.html Button]</code><code>@+id/btnEmailDialogRemove</code>: this button closes dialog and refreshes widget on screen with data
+
| title="Widget" | <code>[[GnEditText]]</code>
 +
| title="Name" | <code>@+id/etEmailDialogName</code>
 +
| title="Description" | this input field is used to define email entry <code>name</code> attribute
 +
|-
 +
| title="Widget" | <code>[[GnEditText]]</code>
 +
| title="Name" | <code>@+id/etEmailDialogAddress</code>
 +
| title="Description" | this input field is used to define email entry <code>email</code> attribute
 +
|-
 +
| title="Widget" | <code>[http://developer.android.com/reference/android/widget/ListView.html ListView]</code>
 +
| title="Name" | <code>@+id/lstEmailDialogAddresses</code>
 +
| title="Description" | displays currently stored email entries in widget
 +
|-
 +
| title="Widget" | <code>[http://developer.android.com/reference/android/widget/Button.html Button]</code>
 +
| title="Name" | <code>@+id/btnEmailDialogAdd</code>
 +
| title="Description" | this button adds data that is set into <code>[[GnEditText|GnEditTexts]]</code> into widget and refreshes the listview
 +
|-
 +
| title="Widget" | <code>[http://developer.android.com/reference/android/widget/Button.html Button]</code>
 +
| title="Name" | <code>@+id/btnEmailDialogEdit</code>
 +
| title="Description" | this button, after clicking on list item and modifying entry data, will replace stored entry data with newly entered data
 +
|-
 +
| title="Widget" | <code>[http://developer.android.com/reference/android/widget/Button.html Button]</code>
 +
| title="Name" | <code>@+id/btnEmailDialogRemove</code>
 +
| title="Description" | after clicking on list item, clicking this button will remove the entry from the list
 +
|-
 +
| title="Widget" | <code>[http://developer.android.com/reference/android/widget/Button.html Button]</code>
 +
| title="Name" | <code>@+id/btnEmailDialogClose</code>
 +
| title="Description" | this button closes dialog and refreshes widget on screen with data
 +
|}
  
 
===dialog_en_email_row.xml===
 
===dialog_en_email_row.xml===
;<code>[http://developer.android.com/reference/android/widget/LinearLayout.html LinearLayout]</code> <code>@+id/etEmailRow</code>: this container represents a single list row
+
:{| class="wikitable sortable" style="font-size: 85%; text-align: left;"
;<code>[http://developer.android.com/reference/android/widget/TextView.html TextView]</code> <code>@+id/etEmailName</code>: this text widget will display email entry <code>name</code> attribute
+
|-
;<code>[http://developer.android.com/reference/android/widget/TextView.html TextView]</code> <code>@+id/etEmailRowAddress</code>: this text widget will display email entry <code>email</code> attribute
+
! scope="col" | Widget
 
+
! scope="col" | Name
The aforementioned widgets must keep their type and id but the rest of the attributes and customisations can be done as required. Remaining widgets not mentioned in this xml files structure can be added/modified as required, there are no constraints.
+
! scope="col" | Description
 +
|-
 +
| title="Widget" | <code>[http://developer.android.com/reference/android/widget/LinearLayout.html LinearLayout]</code>
 +
| title="Name" | <code>@+id/etEmailRow</code>
 +
| title="Description" | this container represents a single list row
 +
|-
 +
| title="Widget" | <code>[http://developer.android.com/reference/android/widget/TextView.html TextView]</code>
 +
| title="Name" | <code>@+id/etEmailName</code>
 +
| title="Description" | this text widget will display email entry <code>name</code> attribute
 +
|-
 +
| title="Widget" | <code>[http://developer.android.com/reference/android/widget/TextView.html TextView]</code>
 +
| title="Name" | <code>@+id/etEmailRowAddress</code>
 +
| title="Description" | this text widget will display email entry <code>email</code> attribute
 +
|}

Latest revision as of 10:41, 8 August 2019

GnEmail

Widget XML tag
<com.ginstr.widgets.GnEmail>
Description
GnEmail provides support to enter email data into email datatype. It is used to store and retrieve data from the database.
Once data is in the widget it’s possible to edit the data by clicking the edit button.
On click, a new dialog window will open which has add, edit, remove and close buttons which can be used to manipulate emails.
The dialog has a built in validate screen action when add or edit is executed.
By default, widget definition can be found in $defaultApp/control/widget_en_email.xml. This layout describes how the widget will look on screen.
The dialog screen that loads on clicking edit is defined by $defaultApp/control/dialog_en_email.xml
Dialog screen listview row definition can be found at $defaultApp/control/dialog_en_email_row.xml
All of the aforementioned layouts can be used to modify the look and feel of the widget.

XML Attributes Description

none

Events

gn:act_setClick
gn:act_setLongClick

Data types

Input
email
Output
email

Example

<com.ginstr.widgets.GnEmail
  android:id="@+id/plant_userNameRecordCreation"
  android:layout_width="match_parent"
  android:layout_height="wrap_content" />

Alternative layout

If the default look and feel needs to be changed, create or copy identical files from $defaultApp to current app "control" folder.
To provide alternative layout, the files mentioned above can be set into control folder of the current application. Files must be named as shown above and widgets with Id’s have to stay of same type and keep same id.

widget_en_email.xml

Widget Name Description
TextView @+id/etEmail this text field represents emails stored in the widget
Button @+id/etEmailManage this button opens dialog screen to manage email entries

dialog_en_email.xml

Widget Name Description
GnEditText @+id/etEmailDialogName this input field is used to define email entry name attribute
GnEditText @+id/etEmailDialogAddress this input field is used to define email entry email attribute
ListView @+id/lstEmailDialogAddresses displays currently stored email entries in widget
Button @+id/btnEmailDialogAdd this button adds data that is set into GnEditTexts into widget and refreshes the listview
Button @+id/btnEmailDialogEdit this button, after clicking on list item and modifying entry data, will replace stored entry data with newly entered data
Button @+id/btnEmailDialogRemove after clicking on list item, clicking this button will remove the entry from the list
Button @+id/btnEmailDialogClose this button closes dialog and refreshes widget on screen with data

dialog_en_email_row.xml

Widget Name Description
LinearLayout @+id/etEmailRow this container represents a single list row
TextView @+id/etEmailName this text widget will display email entry name attribute
TextView @+id/etEmailRowAddress this text widget will display email entry email attribute