This document describes the planned requirements for the project and its current state
[PT_BR] Esse documento descreve os requisitos planejados para o projeto e seu atual estado
- Save
- Save As
- Open
- NEW / Clear
- Exit
- Exit (ask if as changes.)
- Warning for IMAGES not found on open file
- List of Recent files
- Show loading on Open large files..
- Add Layer Support
- Print-screen - to export components to easy create backboards
- Drag and drop (external images)
- Move Components
- Move Components (using keyboard arrows)
- Move fast using CTRL
- Delete (Delete key / popup)
- Delete (ask before delete ?)
- Clone
- Rename
- Show Grid
- Double-click switch image state (ON/OFF)
- Grid Snap (using grid constraints)
- Guide lines
- Snap / Guide lines with others components
- Popup on right click (allow change file properties / images)
- Open Image Editor (like gimp) on Po-pup Menu...
- Auto-reload images on external changes (automatic ou from button ?).
- Control + Z (Undo / Redo)
- Detect transparent image shape / border
- Relative image (open)
- Relative image (save)
- Custom Color Choser
- Start simulation (F9)
- Disconnect on close
- Arduino IDE Plugin / Integration
- Disable events table (not used for while...)
- Create menu / toolbar using icons.
- 2 layous (Compact / Two-Panel)
- Translation (implement controller/utils/I18n.java)
- Slash Screen / Icon
- Documentation for widgets .. (generate HTML from markdown?!) NOTE: the documentation has to be clear that it uses OpenDevice in the protocol ...
- Allow creatate Containers, and set border, backgrouds and titles Like: https://www.youtube.com/watch?v=DuEwOkOvlB0 para quem tiver preguiça de desenhar, ou criar uma forma de update em tempo real.
- On/Off images
- Design Mode
- Controller Mode
- Avoid click in transparent areas of image
- [ ]
- Resize
- Design Mode
- Controller Mode
- On/Off images
- Operation modes
- CustomCmd : Send values defined by user.
- Line
- Design Mode
- Controller Mode
- Multi-line support
- Design Mode
- Controller Mode
- CustomCmd : Send values defined by user.
- Pre-defined buttom images
- Contribuited images loaded from github
- Operation modes
- Sensor
- Switch
- Push
Note: we need a big help here. This library has a multiple of configuration parameters, but leaving so many options confuses the user, an assessment needs to be made of which attributes are useful for each component.
- Design Mode
- Design Mode Cleanup...
- Controller Mode
Levels (SteelSeries)
-
Level ( para criar barra de progressos, como temperatura, nível de água )
-
CircularKnobs ( controles circulares, como potenciômetros ... quase finalizado )
- CLI - Run from cmd line
- Run / Simulate from Designer
- Log View
- Log View (auto-clear or use CircularBuffer to avoid memory leaks)
- Raw Logs view
- Save logs to file
- Reportar errros (https://www.bugsnag.com/open-source | https://sentry.io/for/open-source/)
- OpenDevice protocol support
- Send
- Receive
- Release OpenDevice (arduino and java library)
- Communication
- Usb
- Bluetooth
- TCP / WIFI
- Notifications of Connection status... (connecting and disconnected.)
- Support for sending commands (user commands)
- Example with Arduino
- Example of receipt with Esp8266
- Multiple charts to same DATA
- Allow create multiple viwes, from same device.
- Create shared datasource.
- Attribute: Variable (allow use Var1,Var2,Var3)
======================
-
REMOVE dependency: TreeMap<String, JComponent> addedComponents;
-
Exepction dialog.
-
Opção de Escolher o Layout da tela.
-
Opção FULLSCREEN / FRAMELESS (no raspberry nem precisa .. mas no desktop eventualmente seria interessante )
-
Suporte a multiplas telas (multiplos arquivos)?
-
Usar a variavel Layer com uma configuração específica, permitindo alterar o layer (ao adicionar e editar)
-
Tem que ficar claro que pode usar o teclado, teria que ter um efeito de SELECIONADO...
-
user Scroll to resize... (if is resizable)
-
JTableX, praticamente n serve para nada
-
Nagegação de multiplos componentes... pode ser interessante suportar MUDANÇAS DE "PÁGINA"
-
Criar utorial de como Extender e criar novos widegts JAVA e Apenas WidgetSkins
-
User FONT-ICON, para componentes e indicadores...
- como lsistar: https://github.com/jIconFont/jiconfont-catalog-javafx
-
Interface remota raspberry - Aqui seria o raspberry acessando uma pasta remota do PC, e monitorando ou recebendo notificações de alteração Se ateração for de imagens, recarrega tudo, se for possição é em realtime...
-
Remo
-
- GIF / MultiStateGiff, usar um gif onde cada frame é um estado do compoente.
Ou atributo de ANimado e não Animado
- GIF / MultiStateGiff, usar um gif onde cada frame é um estado do compoente.
-
Suporte a ZOOM: http://ayetgin.blogspot.com/2015/05/howto-zoom-inout-with-java-swing.html http://ayetgin.blogspot.com/2015/05/howto-zoom-inout-with-java-swing.html
-
Criar função para mudar o Layer do componente
-
Medusa compoentn library (JavaFX): https://github.com/HanSolo/Medusa
-
Permitir criar scripts....
-
Remove: ScreenShot button
ImageSelectorDialog
-
Dialogo que permite buscar no disco, e lista as imagens da internet curl -H "Content-Type: application/json" https://api.github.com/repos/OpenDevice/OpenDevice/git/trees/master
-
Extençção: xhmi
-
Resizable SVG compoenents: https://xmlgraphics.apache.org/batik/tools/browser.html (https://xmlgraphics.apache.org/batik/using/swing.html) https://xmlgraphics.apache.org/batik/tools/rasterizer.html
A parte de usabilidade e edição está ficando bem legal...