UIDesignIcons: Icon names specifications
by jstaniek: january 5, 2007
status: in progress
These Kexi-specific specs are created on request of Kenneth Wimer and are compatible with
http://developernew.kde.org/Projects/Oxygen/namingSpec. Many of the names are reusable for database-related applications.
I propose to use 'database-' prefix to make it clear the action is related to databases.
There are also actions related to the Form Designer component, what is not database-related. I used 'form-' prefix for them as a proposal for the standard.
See also Calligra shared icon specs prepared for Oxygen.
The format used below is:
- A symbol for indicating "no" value in a different way than 'red x'. This icon is currently used within the property editor. A striked-through icon provided because "button_cancel" or "no" icons are too similar to "delete" action, so user may be a bit confused.
- A symbol for various "test" actions. Currently this icon is used in "test query" action of the Query Designer. Activating the action executes the query and shows information whether it is well formed. The "v" mark from "ok" icon can be reused.
- A symbol for selecting item. Currently this icon is used in "pick a query" from a history of recently tested queries (screenshot: [http://kexi-project.org/pics/icons/select_item_example.png]). The icon can be designed as a hand (r a pointer) pointing at an item.
- An symbol for database, as a data source (either physical or logical). Note: there is already application-vnd.oasis.opendocument.database icon which is a database "can" but embedded into a document sheet.
- An symbol for database relation, i.e. a logical connection of tables, like "company->employee" relation.
- This is a different action than spreadsheet's "insert column" action, because can be applied to non-tabular view (e.g. a form or report).
- An icon for deleting all rows from a table (or clearing them, i.e. filling with empty space). This icon is somewhat similar to delete-table-row except it indicates that all rows will be deleted (cleared), no matter which row is currently selected.
- A symbol for database primary key. Note for artists: it's very common to draw the key in yellow.
- A symbol indicating that database field's is autonumbered (i.e. has sequence assigned).
- A symbol for database index (not yet used in Kexi, this example comes from MS Access).
- A symbol for importing database contents from an external format. The icon has to reuse 'database' icon described above.
- A symbol for exporting database contents into an external format. The icon could be similar to database-import except it can be bottom-up and red.
Navigation through database rows
Note: these icons are defined especially for use in navigation bar (see screenshot [http://kexi-project.org/pics/1.1/image_box_thumbnails.png]).
Note2: existing icons like go-next, etc. can be reused. See also this kde-artists thread.
- Moves to first database row within the data set
- Moves to previous database row within the data set
- Moves to next database row within the data set
- Moves to last database row within the data set
- Moves to new (empty) database row within the data set, thus allowing entering values for new row
Actions used for switching between states/modes. Except for SQL view, these actions are not closely related to databases, and can be used in other apps.
- Data view mode, which can display tabular data for tables or queries, form data for forms, etc.
- Design view mode, allowing for editing contents of the active window.
- SQL view mode, related to database queries. Allows to edit text of the SQL statement to define query.
- Text view mode, showing text representation of an object.
- Resize object (e.g. a form widget) to preferred (best) size, appropriate to its type and contents.
- Resize object (e.g. a form widget) to the predefined grid, what can also change its position.
- The height of the selected objects (e.g. form widgets) will be altered so that each of them will have the same height as the shortest one. The position of the widgets will not be changed.
- The height of the selected objects (e.g. form widgets) will be altered so that each of them will have the same height as the tallest one. The position of the widgets will not be changed.
- The width of the selected objects (e.g. form widgets) will be altered so that each of them will have the same height as the narrowest one. The position of the widgets will not be changed.
- The width of the selected objects (e.g. form widgets) will be altered so that each of them will have the same height as the widest one. The position of the widgets will not be changed.
- Assigning action to a form's or report's widget, e.g. user can insert a push button onto the form and assign "close window" action for it.
Form or report widgets
These icons are symbols for building blocks of forms or reports. Can be also used in applications not directly related to databases, so I removed the 'database-' prefix from the suggested names.
- An autofield widget: a combination of text label and line editor (or other kind of editor)
- A button widget.
- A checkbox widget.
- A combobox widget with an input box and a dropdown list.
- An imagebox widget that can display images or photos of simple types (JPG, PNG, GIF...). It used to be called pixmaplabel after Qt Designer, but imagebox name could be better. The famous Mona Lisa is used in this icon.
- A label widget that can display non-editable content (usually text).
- A line widget, presented as diagonal line.
- A horizontal line widget.
- A vertical line widget.
- A vertical single-line editor widget.
- A multiline, text editor posible with rich text or syntax highlighting
- This icon is used to show that multiple objects (widgets) are selected e.g. in a design window.
- This icon is used together with a name of object (e.g. widget) of an unknown type. For example, object can be of unknown type because it is defined in a plugin that is not currently available or loaded. Using this icon helps users to recognize this case.
- This icon indicates an objects tree. In Kexi it is used to describe a tab containing a widget tree (see 3rd tab on the right hand: [http://kexi-project.org/pics/1.1/custom_widgets.png]).
- A radio button widget for handling options.
- A simple frame widget (can contain other widgets)
- A group box widget (can contain other widgets)
- A slider widget
- A spin box widget
- A tab widget (can contain other widgets)
- A stack widget able to contain other widgets and display one at a time
- A subform (can contain other widgets)
- A (horizontal) spring used for managing form layouts
- A vertical spring used for managing form layouts
- A simple list widget (without icons or branches)
- A tree widget (possibly with icons or branches); NOTE: draw tree to give hint that hierarchy is supported
- A progress bar widget
Top-level database objects
These are icons for actions that are usually used as toolbox items for inserting new widgetgs onto the form. Larger icon sizes are used in dialogs like "create new" or "save as" to give user a better hint about the kind of object being created or saved.
- Database table icon. Placed on a toolbox for creating action that inserts a new object of this type.
- Database query icon. Placed on a toolbox for creating action that inserts a new object of this type.
- Database form icon. Placed on a toolbox for creating action that inserts a new object of this type.
- Database report icon. Placed on a toolbox for creating action that inserts a new object of this type.
- Database macro icon. Placed on a toolbox for creating action that inserts a new object of this type. Unlike script, macro (at least in Kexi and MS Access) is a list of instructions. See Introduction in this document: Macros.
- Database script icon. Placed on a toolbox for creating action that inserts a new object of this type.
- Action icons for inserting new database objects. These are created by putting a "star" on top of table/query/form/report/macro/script icon
- A mimetype describing SQLite-based Kexi file. Can either contain the Kexi logo or be based on 'application-vnd.oasis.opendocument.database' icon. This mimetype somewhat fits to 'documents' family.
- Alias: application-x-kexiproject-sqlite3
Note: Kexi 1.x series contain also kexiproject_sqlite2 variation of the icon () used to indicate version 2 of SQLite file format, as opposed to version 3. Version 2. is barely used nowadays, so we can forget about kexiproject_sqlite2 and make application-x-kexiproject-sqlite2 identical to application-x-kexiproject-sqlite3 for any past and future SQLite-based mimetypes.
Note 2: the reason why we have talked about versions of SQLite formats is because these are completely incompatible, just like JPEG versus PNG in images world.
- A mimetype describing a "shortcut" to a Kexi database located on a server. The shortcut -- a pointer -- is a small file with enough information to perform connection to a database server. Can either contain the Kexi logo or be based on 'application-vnd.oasis.opendocument.database' icon. This mimetype does not fit to 'documents' family too much, as it is "a pointer" to a server infrastructure.
Note: take care about the small "arrow" to avoid conflicts with desktop shortcuts having small "arrows" rendered using "link" icon.
- "network" icon is used in Kexi/KDE3, needs ideas