1
1
Fork 0
mirror of https://github.com/FellippeHeitor/InForm.git synced 2025-01-14 19:49:33 +00:00
GUI engine and WYSIWYG interface designer for QB64
Find a file
George McGinn fc4d90c25e Update InForm to Install/Run on either QB64 or QB64pe #2
Updates to v1.4.0 of InForm:
	* Runs with either QB64 or QB64/PE
	* Removed the defunct auto-update, develoer update & installer
	* InForm no longer internally compiles UiEditorPreview (All compiles done at setup time)
	* InForm now runs in the InForm directory instead of the QB64 directory
	* InForm is aware of which QB64 is installed (QB64 or QB64PE)
	* Will work with either the new Messagebox dialog (PE v.3.4.0) or older messagebox dialog.
	* Ensure library continues to work even if QB64-PE font library changes wink
        * Changed the setup scripts
2022-11-01 19:31:18 -04:00
InForm Update InForm to Install/Run on either QB64 or QB64pe #2 2022-11-01 19:31:18 -04:00
.clang-format Cleanup. Add *.exe to .gitignore 2022-10-13 01:24:37 +05:30
.gitattributes Cleanup. Add *.exe to .gitignore 2022-10-13 01:24:37 +05:30
.gitignore Add Linux & macOS executable to .gitignore 2022-10-13 07:21:29 +05:30
LICENSE.md And so it begins 2022-10-13 06:06:39 +05:30
makefile.inform Update InForm to Install/Run on either QB64 or QB64pe #2 2022-11-01 19:31:18 -04:00
README.md Remove goal - common dialog now baked into QB64-PE 2022-10-26 03:35:51 +05:30
setup_inform_lnx.sh Update InForm to Install/Run on either QB64 or QB64pe #2 2022-11-01 19:31:18 -04:00
setup_inform_osx.command Update InForm to Install/Run on either QB64 or QB64pe #2 2022-11-01 19:31:18 -04:00
setup_inform_win.cmd Update InForm to Install/Run on either QB64 or QB64pe #2 2022-11-01 19:31:18 -04:00

InForm

InForm logo

A GUI engine and WYSIWYG interface designer for QB64-PE

Wiki: https://github.com/a740g/InForm/wiki

Event-driven QB64 programs

InForm's main goal is to generate event-driven QB64 applications. This means that you design a graphical user interface with interactive controls and then write the code to respond to such controls once they are manipulated.

Workflow

After your form looks the way you want it to, click File -> Save to export its contents and generate a .bas source file. Two files are output:

  • .frm the generated form in QB64 code. This can be loaded back into InForm's designer or manually edited in QB64 or any text editor later, if you want to adjust fine details.

  • .bas the actual program you will add your code to.

You add code to respond to events

  • Click
  • MouseEnter/MouseLeave (hover)
  • FocusIn/FocusOut
  • MouseDown/MouseUp (events preceding a Click)
  • KeyPress
  • TextChanged (for text box controls)
  • ValueChanged (for track bars, lists and dropdown lists)

There are also events that occur in specific moments, to which you can respond/add code

  • BeforeInit, triggered just before the form is shown.
  • OnLoad, triggered right after the form is first shown.
  • BeforeUpdateDisplay, triggered everytime the form is about to be repainted.
  • BeforeUnload, triggered when the user tries to close the program, either via clicking the window's X button, right click in the task bar -> Close or with Alt+F4 (Windows only).
  • FormResized, triggered when a form with the CanResize property is resized at runtime.

Developer Goals

  • Decouple QB64-PE internal features from the library (e.g. falcon.h)
  • Ensure library continues to work even if QB64-PE font library changes 😉
  • Make the library standalone and work from any directory
  • Remove all gimmicky features like the defunct auto-update & installer
  • Ensure the library does not write anything to disk and runs completely from memory