Com.bitplan.gui: Difference between revisions

From BITPlan Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(19 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{OsProject|title=Generic GUI framework for Java|url=https://github.com/BITPlan/com.bitplan.gui|version=0.0.3}}
{{OsProject|id=com.bitplan.gui
|owner=BITPlan
|title=Generic GUI framework for Java
|url=https://github.com/BITPlan/com.bitplan.gui
|date=2019-01-22
|version=0.0.15
}}
= Simple Platform neutral Graphical User Interface Description =
= Simple Platform neutral Graphical User Interface Description =
== Why platform neutral? ==
Implementing User interfaces for a specific platform can be quite frustrating when you try to migrate the result to a different platform.
Even very small differences between implementations can spoil the effort.
Especially when prototyping it is much easier to start from a simple descriptive file and "interpret" the result.
== Main classes and packages ==
== Main classes and packages ==
<uml>
<uml>
  hide circle
   package com.bitplan.gui {  
   package com.bitplan.gui {  
     class App {
     class App {
      name
      home
      feedback
      help
    }
    class Group {
      id
      name
      icon
     }
     }
     class Form {
     class Form {
      id
      icon
      title
      headerText
     }
     }
     class Group {
     class Field {
      id
      label
      hint
      fieldKind
      type
      choices
      format
      labelSize
      fieldSize
      gridX
      gridY
     }
     }
     class Field {
     class ExceptionHelp {
      exception
      url
      i18nHint
     }
     }
     class Menu {
     class Menu {
      id
      title
      shortCut
     }
     }
     class MenuItem {
     class MenuItem {
      id
      title
      shortCut
     }
     }
    App -> "groups n" Group
    App -> "exceptionHelp n" ExceptionHelp
    App -> "mainMenu" Menu
    Group -> "forms n" Form
    Form -> "fields n" Field
    Menu -> "submenus n" Menu
    Menu -> "menuItems n" MenuItem
   }
   }
   package com.bitplan.i18n {
   package com.bitplan.i18n {
     interface I18n {
     interface I18n {
      String get(String text)
      String get(String text, Object ... params)
     }
     }
     class Translate {
     class Translator {
      String translate(String messageName, Object ... params)
      String translate(String messageName, Object param)
      String translate(String messageName)
      Locale getCurrentLocale()
      static initialize(String bundleName, String localeName)
      loadBundle(Locale locale)
      getBundle()
     }
     }
   }
   }
<uml>
</uml>
= Example Applications =
* {{Link|target=Sprinkler}}
* [http://can4eve.bitplan.com can4eve]
 
= I18n =
Internationalization is supported using resource bundles.
The "TestI18n" base class can be used as a utility to make sure that all entries in the platform independent description have a corresponding translation.
[[Category:frontend]]

Latest revision as of 06:59, 7 July 2019

OsProject
id  com.bitplan.gui
state  
owner  BITPlan
title  Generic GUI framework for Java
url  https://github.com/BITPlan/com.bitplan.gui
version  0.0.15
description  
date  2019-01-22
since  
until  

Simple Platform neutral Graphical User Interface Description

Why platform neutral?

Implementing User interfaces for a specific platform can be quite frustrating when you try to migrate the result to a different platform. Even very small differences between implementations can spoil the effort.

Especially when prototyping it is much easier to start from a simple descriptive file and "interpret" the result.

Main classes and packages

Example Applications

I18n

Internationalization is supported using resource bundles. The "TestI18n" base class can be used as a utility to make sure that all entries in the platform independent description have a corresponding translation.