1
1
Fork 0
mirror of https://github.com/FellippeHeitor/InForm.git synced 2025-01-15 11:59:34 +00:00
Commit graph

535 commits

Author SHA1 Message Date
FellippeHeitor
b9bebbee59 Overall: Replaces QB64's _PRINTSTRING with *uprint* aka falcon.h. Also:
- Adds padding (left/right) to labels.
- Adds multiline support for textboxes.
- Improves wordwrapping for labels - bypasses the function if the same text passed has already been processed for the same width and _font conditions.
- Restores internal textfield contextual menu.
- Textfield contextual menu limits options based on clipboard/selection status.
- Creates a new helpercanvas automatically upon creating a new picturebox control.
- New ReplaceText function which enables \n for adding items to a listbox at design time.

UiEditor.bas:
- Indicator on textbox shows if current input value has been accepted by the Preview renderer.
- Improves saving of nested controls.
- New "icon" property for the main form.

UiEditorPreview.bas:
- Loads the icon specified in the editor and shows it in real time (.ico files encoded as bmps and pngs accepted).
2016-11-02 01:03:46 -02:00
FellippeHeitor
4188be2a76 File loading/saving routines implemented. Also:
- New list box method: __UI_ReplaceListBoxItem.
- Menu items can have icons.
2016-10-22 10:09:59 -02:00
FellippeHeitor
7a3dc578dc Add separators to menus. Also:
- Fix the bug the didn't allow controls placed in frames to be selectable when they had been created before the frame.
- Add "\#" automatically to ProgressBar's caption, so Show Percentage will work.
2016-10-21 01:02:45 -02:00
FellippeHeitor
f5ce607970 Auto-select text upon entering a textbox. 2016-10-20 23:34:36 -02:00
FellippeHeitor
bc1cd37c41 Clipboard operations with controls in design mode. Also:
- Allow preview to be detached from the editor window.
- Checked items in menus.
- Show message while compiling the Preview component.
- New controls are placed inside the selected frame.
- Fixed selecting text when textbox is inside a frame.
- Fix detection of Preview window and the relaunch routine.
- Make frames always be redrawn in DesignMode.
2016-10-20 22:49:10 -02:00
FellippeHeitor
e3a27a54ae UI.BAS split into InForm.ui and xp.uitheme. Also:
New UiEditor and UiEditorPreview.
2016-10-19 02:16:49 -02:00
FellippeHeitor
1cbc8830af Add context menus, tooltips and a slider control. Also:
- Context menu for textboxes will be embeded automatically, though the user may replace it with a custom control.
- Fix MessageBox incorrectly mixing title and message.
- MessageBox uses main form's title if no title is provided.
- New event __UI_ValueChanged.
- Focus outline (dotted line around control) is only shown if keyboard input is received.
- Adds NotoMono-Regular.ttf (licensed under the SIL Open Font License)
2016-10-13 21:11:35 -03:00
FellippeHeitor
3e595972d9 Theme images are now all embeded into the .bas source. Also:
- Fix save routine to properly save the .Stretch property of controls.
- Fine adjustments to ProgressBar drawing.
- Find adjustments to ListBox/Scrollbar drawing.
2016-10-12 23:29:09 -03:00
FellippeHeitor
9daf8a6e2c New controls without name take default Control# name pattern.
Create a new button and it'll be automatically named Button1. Also:

- All existing controls are properly destroyed when loading a saved form.
- Fix hovering to select that stopped working for dropdown lists.
- List or Dropdown list controls have their __UI_Caption set based on the selected item, if any.
2016-10-12 19:57:14 -03:00
FellippeHeitor
75b2616e1b Fix proper indication of __UI_DefaultButton. Also:
- Fix focus outline (dotted line indicator) when _FONT 16 is used.
- Adds a microdelay before showing a MessageBox so the interface can be properly redrawn.
- Fixes __UI_NewControl so that no control can be created without a name or type indication.
- Destroy menu panels before activating menu items, so that the event will be fired only after menu is closed.
- Fix save form routine so that no temporary menu panels are saved.
2016-10-12 16:54:22 -03:00
FellippeHeitor
566ebdae75 Fixed unintended clicks when __UI_DoEvents is called in a loop. 2016-10-11 12:09:13 -03:00
FellippeHeitor
0c3e99b977 Refinements to menu control. Also:
- Basic save/load form functionality (still a bit buggy).
2016-10-11 07:43:07 -03:00
FellippeHeitor
a02b129767 New control: Picture box (read more:)
Can be used to display a picture on a form. Also:

- Theme images can now be embeded in the code, removing the need for external image files (check the icon that shows when the image assigned to the picture box cannot be found).
- Menu items now respond properly to hotkeys.
- Improved menu hover behavior.
- More parameters can be passed to __UI_NewControl (Top, Left)
2016-10-09 15:00:25 -03:00
FellippeHeitor
3e151a305f Working menu system.
Every menu item is a control in __UI_Controls. Needs visual polishing. Functionality is implemented (except keyboard). Also:

- New TIMER approach for DoEvents.
2016-10-08 22:04:28 -03:00
FellippeHeitor
5aad4e3790 Every menu item is now an independent control.
The shift in paradigm allows for more flexibility. Also:
- Improvements to dragging the scrollbar thumb.
2016-10-08 16:42:42 -03:00
FellippeHeitor
268b4ffae3 - Implements hotkeys (Alt+Letter). Also:
- Menus are now accessible using Alt.
- More default settings are automatically defined upon control creation.
- Dropdown now lists have hover to select behavior.
- Alt+ASCII CODE inserts extended characters.
2016-10-08 09:43:03 -03:00
FellippeHeitor
2de37eb062 Minor adjustments to TextBox control rendering. 2016-10-07 20:56:12 -03:00
FellippeHeitor
92f0e8ee61 New control: MenuBar. Also:
- Improved theming engine (control image placement).
2016-10-07 20:52:12 -03:00
FellippeHeitor
8f482f98af New theme: XP. Also:
- Font set for the main form is inherited by new controls.
- All control images are now converted to hardware images.
- Replaced "Enabled" with "Disabled" for control properties (new control properties always default to __UI_False)
- Removed calls to _MOUSESHOW in Linux, for increased stability.
2016-10-06 07:18:16 -03:00
FellippeHeitor
922399be93 New __UI_KeyPress event. Also:
- Rewritten drawing routines: every control is now contained in a separate image, so that it only gets redrawn when needed.
2016-10-04 03:53:22 -03:00
FellippeHeitor
7a45de0418 Add Dropdown lists. Also:
- Exposes MessageBox from libqb.cpp (QB64's internal declaration/implementation; uses Windows API or an emulated alternative under Linux/macOS)
- Scrollbar accepts clicks on the "track".
- Adds a __UI_DoEvents routine that is triggered in the main loop and can also be added to user loops, in order to allow events to keep being triggered.
- Visuall indicates that something is hogging the input routine (when programmer has a DO: LOOP and forgets the add __UI_DoEvents)
- ListBoxes can be searched by typing item names.
2016-10-02 00:54:57 -03:00
FellippeHeitor
422f85ebac Fixed scrollbar thumb dragging behavior. 2016-10-02 00:48:56 -03:00
FellippeHeitor
9941f19607 Hover detection moved to ProcessInput sub. Also:
- Improved response to scrollbar buttons.
- Independent scrollbars removed.
2016-10-02 00:47:57 -03:00
FellippeHeitor
2358b9217b Improved behavior of controls. 2016-10-02 00:45:01 -03:00
FellippeHeitor
cbe1f1d4a5 Add vertical scrollbar to ListBox when needed. Also:
- Independent vertical scrollbar.
2016-10-02 00:44:08 -03:00
FellippeHeitor
e59858fb92 Fixed lag when text longer than label width is displayed (ClipText$) 2016-10-02 00:42:31 -03:00
FellippeHeitor
a19eabbb50 Attempt to reduce lag when text is selected. Also:
- New "text" mouse icon for textboxes.
2016-10-02 00:41:45 -03:00
FellippeHeitor
e151df8d26 Containers are drawn in a separate image (allows clipping). Also:
- Right click to delete listbox items (for testing the delete routine)
- Improved progressbar drawing.
2016-10-02 00:40:46 -03:00
FellippeHeitor
89ad8b1efa Improved input processing for listboxes. 2016-10-02 00:38:33 -03:00
FellippeHeitor
61cfd8fade New Listbox control. Also:
- New ProgressBar control.
2016-10-02 00:37:41 -03:00
FellippeHeitor
45b013057b Improved text selection (textbox). 2016-10-02 00:36:31 -03:00
FellippeHeitor
80c9f9e9f7 Initial textbox development. Also:
- Frame container.
- Radio buttons.
- Check boxes
- New events (BeforeUpdateDisplay, BeforeUnload, OnLoad, BeginDrag, EndDrag
- __UI_Darken& function (_RGB32 intensity manipulator)
- Improved rounded rectangles.
- Improved event dispatcher routine.
- Improved textbox behavior.
2016-10-02 00:35:40 -03:00
FellippeHeitor
98cc8a1a7b Add CanDrag property to controls. Also:
- Use glutSetCursor to indicate a draggable control.
2016-10-02 00:31:09 -03:00
FellippeHeitor
2ecad85811 Attempt with TTF fonts. 2016-10-02 00:29:24 -03:00
FellippeHeitor
072d8ded04 Basic UI structure. Initial commit. 2016-10-02 00:27:10 -03:00