Event Field
From Openmoko
| Not implemented: This article or section documents one or more features that are not implemented and which may never be implemented. |
Contents |
Overview
The Event Field Widget provides a general method to handle interactions with date & time events
Usages Cases
- Commonly used in the Details Area of Native Stylus-Based applications.
Appearance & Interaction
View Mode
On Tap
- Open in Calendar -- Opens to this date in the Calendar application.
On Tap with Hold
- Popup Menu is opened with the following structures, based on the active field type:
| Item | Action | Constraints |
|---|---|---|
| Open In Calendar | Opens to this date in the Calendar application | |
| Add to Contact | Adds this event to a contact | Grayed-out if event is within existing contact |
| Copy to Clipboard | Copies event to clipboard |
| Item | Action | Constraints |
|---|---|---|
| Copy to Clipboard | Copies event to clipboard |
Edit Mode
While in Edit Mode, the Event Field Widget, has the following modifiable regions:
- 1) Remove Field -- On Tap will remove this widget.
- 2) Add New Field -- On Tap will add a new copy of this widget (empty, but of the same type)
- 3) Type
- 4) Type Selector -- On Tap will open Popup Menu with the following structure:
- 5) Text Field
- 6) Open Keyboard -- Open the Date-Time Picker keyboard in this case.
| Item | Action | Constraints |
|---|---|---|
| Birthday | Sets event type to Birthday | This is a reoccuring rule |
| Anniversary | Sets event type to Anniversary | This is a reoccuring rule |
| Meeting | Sets event type to Meeting | |
| Custom | Opens Dialog prompting for custom type name |
Constraints
(TBD)
Architectural Details
(TBD)
Implementation Recommendations
- Could be derived from a GtkHBox
- In View Mode, the actual event is shown using a GtkLabel
- In Edit Mode, the actual event is shown using a GtkEntry
- Should open a GtkCalendar if the event entry has the incput focus.
UI Position
Cross-Widget Interactions
(TBD)
Unresolved Issues
- Do we need any more default field types?
- How do we want to handle Custom types?
- We are going to need to have a few non-removable fields. Otherwise, with this interface there is no way to (say) add another event, if there is only one, and it's removed.
Questions and Answers
(None)





