Einhugur Plugin Releases (2021)

MacOSBridge 3.5 is out

Einhugur macOS Bridge is a plugin to make it easier to use some macOS Native objects and interface with them using Xojo objects, Einhugur Plugin objects such as RawBitmap, declares and 3rd party plugins.

The macOS native objects have been simplified and adapted to make using them from Xojo very easy.
For Example then macOS file Icon for any file or file type can be obtained in just one line of code, and can then be either drawn in one line into Xojo Graphics or converted to Xojo picture object in one line of code.

The macOS Bridge plugin can help you set up Touch-bar support in your applications. And supports customization mode for it.


(Touch bar in the picture above shown in Touch Bar simulator)


Alert with destructive action on macOS Big Sur

image
Simple task manager created with NSRunningApplication class

Version 3.5 changes:
Added NSRunningApplication class.
Added NSWorkspace class.
Added NSDate class. (Minimum implementation to support other classes).
Added NSURL class. (Minimum implementation to support other classes).
Added two new example projects.

More info at www.einhugur.com

1 Like

TimeControl plugin 7.7 for Xojo is out

The TimeControl Plugin for Xojo is displayed according to control panel time settings, or in exclusive 24 hour mode. The control uses Native Windows control on Windows systems and native Theme Rendering on macOS X and Linux systems.

New in TimeControl 7.7:
Improved drawing on MacOS Systems.

More info at www.einhugur.com

3 Likes

DateControl plugin 9.3 for Xojo is out.

DateControl is a Plugin control for Xojo to select dates. The control has broad platform support and supports NULL (empty dates), Min and Max dates and more.

New in version 9.3:

  • Improved drawing on macOS Systems when the DateControl is not in drop down mode.

More info at www.einhugur.com

1 Like

CustomButton 2.0 plugin for Xojo is out

A plugin to create Custom rendered coloured button and switches for all desktop platforms.

New in Version 2.0:
Added CustomSwitch control.
Greatly improved focus handling on CustomButton control.
Added FocusDrawingType property to the CustomButton control.
Added FocusColor property to the CustomButton control.
Added UseSystemFocusColor property to the CustomButton control.
Added DMFocusColor property to the CustomButton control.
Added DMUseSystemFocusColor property to the CustomButton control.
Improved macOS accessibility support on the CustomButton class, adding support for helper devices and utilities to use perform command.
Added FocusColor property to the CustomButtonStyleSet class.
Added UseSystemFocusColor property to the CustomButtonStyleSet class.
Made new and better IDE icons for the controls.

Custom button supports:
Plain button
Split button
Menu button
Sticky button
Toggle button
macOS Dark Mode customisation
macOS High contrast mode customisation.
Common Apple accessibility features for button widget.
Several ways of focus handling.

CustomButton

Custom switch supports:
macOS Dark Mode customisation.
macOS High contrast mode customisation.
Common Apple accessibility features for checkbox widget.
Custom localization.
Several ways of focus handling.

image

More info at www.einhugur.com

2 Likes

MacOSBridge 4.0 is out

Einhugur macOS Bridge is a plugin to make it easier to use some macOS Native objects and interface with them using Xojo objects, Einhugur Plugin objects such as RawBitmap, declares and 3rd party plugins.

The macOS native objects have been simplified and adapted to make using them from Xojo very easy.
For Example then macOS file Icon for any file or file type can be obtained in just one line of code, and can then be either drawn in one line into Xojo Graphics or converted to Xojo picture object in one line of code.

The macOS Bridge plugin can help you set up Touch-bar support in your applications. And supports customization mode for it.


(Touch bar in the picture above shown in Touch Bar simulator)


Alert with destructive action on macOS Big Sur

image
Simple task manager created with NSRunningApplication class

Version 4.0 changes:
Added NSSavePanel class.
Added NSOpenPanel class.
Fixed problem on the State property on NSButton class.
Documentation is now generated with fixed Documentation generator making inherited members show better.
Added Hidden property to the NSView class.
Added NeedsDisplay property to the NSView class.
Added InitWithFrame shared function to the NSView class.
Added AddSubview method to the NSView class.
Added SetFrameOrigin method to the NSView class.
Added CheckBoxWithTitle shared function to the NSButton class.
Added RadioButtonWithTitle shared functions (2 variations) to the NSButton class.
Added Tag property to the NSControl class.
Added AlertCompletionDelegate to the NSAlert class.
Added new example project to show Sheet Alert (modal to specific window only)
Added 7 new example projects for Open and Save panels.

Addition of the NSSavePanel and NSOpenPanel allows you to Open multiple files from file dialog, open hidden files, add custom accessory view to them and many other things.

More info at www.einhugur.com

2 Likes

At this writing, the link on your page is still downloading v3.5

1 Like

Is fixed now, I must have uploaded at wrong path, though I could not find where.

Sorry about the problem.

Björn

1 Like

Einhugur Linux Bridge plugin for Xojo and FlowLayout Plugin 3.0.2 for Xojo are out.

New in FlowLayout 3.0.2:
Fixed issue with min size handler.

The FlowLayout plugin helps you create a user interface design where horizontal layout of the controls is sensitive for localization as well as platform differences.

The FlowLayout for example helps dealing with localization issues like this:

English

Icelandic

Icelandic - when FlowLayout was used

New in Einhugur Linux Bridge 1.0.2
Fixed Linker error on Linux 32 bit.

Einhugur Linux Bridge is a plugin to make it easier to use some Gtk Native objects and interface with them using Xojo objects, declares and 3rd party plugins.

The Linux native objects have been simplified and adapted to make using them from Xojo very easy.

Since all our products are free when used on Linux platform then this plugin is completely free of course since by nature it is for Linux only.

Setting destructive and suggested action on Xojo buttons.

Advanced Alerts

You can also use combine it with our X-Platform-Alert and Einhugur macOS Bridge Plugin to get full cross platform Experience. See here: GitHub - einhugur/X-Platform-Alert: Cross platform alert dialog for Xojo using NSAlert from Einhugur macOS Bridge on macOS systems..

Things that were put in the first round of this plugin are a bit oriented towards what was needed for the X-Platform-Alert framework.

More info at www.einhugur.com

2 Likes

I just wanted to post small teaser of what I am working on this time to see if there is any interest…

Following code loads 15000 rows from SQLite, into a simple Xojo object which is just defined like:

class TestObject
     public ADDRESS as String
     public AGE as Integer
     public NAME as String
     public REALTEST as Double

Some what normal code to load this into Array of TestObject:

But…what if you could do all this like this:

Only downside that I know of is that since Xojo does not support Generics then the Array returned is array of object instead of Array of TestObject (where you need to cast the result).

If there is interest then I will have this out pretty soon for SQLite. Other Databases are probably possible to add, would need to be investigated.

5 Likes

Very much interested. Hope you can do for other databases like oracle, mysql etc. Great work.

yes I am interrested, it would make this process much more like c#, The cast is fine by me :grinning:

your SelectSQL() could be declared with return “variant()”, so the array is a variant one, which avoids later the casting.

3 Likes

Isn’t that current number 8 on the Xojo roadmap scheduled for 2031?

3 Likes

Plugin authors may always bring features quicker.
I look forward to what Björn creates here.

2032 you mean?

That was a bad joke.

This is good suggestion, I will test to see what that does in performance and also how it feels in use.

Thanks !

1 Like

This code compiles when using Variant array (see bellow). Very good suggestion is so much nicer now, and I am not measuring any notable performance loss in it.

1 Like

First I think it would be best if there was an option to step through the the records one at time as one would with a ResultSet/RowSet instead of bring it all into memory at once for queries that return a lot of records to limit memory footprint when needed.

Is your idea only to support reading in the data into a table class instance and that any support for modifying the table we would need to code?

How do you see defining the table class?

I assume that we need to write the classes upfront, or are you thinking of autogenerating the classes from the DB like ARGen?

Mapping Xojo properties names to Database fields names is not 100% straightforward … SQL allows identifiers to contain characters that Xojo properties don’t.

If we have to write the classes ourselves, would the SQLite Column name need to be an attribute on the Xojo Property for example?

In the case of autogenerated classes, for SQLite with it’s “type affinity”, mapping Database Data type to Xojo datatype is not always straightforward. ARGen allows one to configure the datatype when needed. If you plan on autogeneration do you see the generator being a separate app like ARGen/Active record?

-Karen

Its hard to compare to ARGen since there your generating classes. While here you do quick runtime mapping. More like is done in Various of Poco such as PetaPoco ORM’s for .NET.

Usually Poco type ORMs will return the whole array of query as it can be optimized the most like that and Poco style ORM is for average UI app and not really SQL management studios. So you should not really have millions of rows in such apps. If you have such app then you should not really be using any ORM at all.