Einhugur Plugin Releases (2021)

Their not required for all. Many need TypeLib, only one needs TypeLibF (as far as I remember) and maybe 2 are using CoreClasses.

Björn doesn’t mention it here, but I believe that, of these, he includes whatever is needed with each download. You should find them right alongside the .ecr of the plugin itself. You do not need to download them separately.

2 Likes

The question wasn’t about the dependencies… too much off topic.

As mentioned above, these ARE already included, in the downloads of the plugins that need them. :slight_smile:

There is no need to mention this again, we use the plugins for years and unpack them manually so we know what’s in them…:wink: Thanks anyway.

Well, you knew, but you asked anyway. :slight_smile:

1 Like

Okay, I do understand that you’re asking that Björn put out regular monolithic releases like Christian does. As another customer, I like getting individual updates of the plugins I use most, as they come out. It is just up to me to stay on top on his announcements, to update them as needed.

Your suggestion isn’t a bad one. But Björn would have to decide whether to do both. :slight_smile:

2 Likes

TreeView 9.2.2 is out

Version 9.2.2 is small hotfix for every other row coloring that broke in the new version for Xojo 2021r3.

TreeViewDarkModeWin
TreeView on Windows dark mode

More info at www.einhugur.com

1 Like

We just posted version 1…12 of the Einhugur loose Fork of the TextInputCanvas.

New in version 1.2.1:

  • Fixed cross platform compile problems.

The plugin can be found in the open source section of our web:
https://einhugur.com/Html/opensource.html

TextInputCanvas

TextInputCanvas is a plugin for the Xojo programming environment that allows developers to implement custom text input controls with international input support.

Our TextInputCanvas is loose fork of the TextInputCanvas from Xojo Inc at:

GitHub

GitHub - xojo/TextInputCanvas: TextInputCanvas is a plugin for the Xojo…

TextInputCanvas is a plugin for the Xojo programming environment that allows developers to implement custom text input controls with international input support. - GitHub - xojo/TextInputCanvas: Te…

TextInputCanvas is a plugin for the Xojo programming environment that allows developers to implement custom text input controls with international input support.

We have progressed their version and provide builds for everyone for all platforms.

Note: We cannot help you with setting up build tool chain or provide you with any custom tools we use in our tool chain.

Special thanks to Martin, who has been testing and also submitting changes.

6 Likes

PictureButton 6.1 is out

The PictureButton plugin control for Xojo is to create more platform consistent Picture-buttons but yet having it work well cross platform.

image
PictureButton Windows 10 Dark mode - State normal, State focus, State hoover.
PictureButton Windows 11 Dark mode - State normal, State focus, State hoover.

New in version 6.1:

  • The DesktopPictureButton now uses DesktopMenuItem for drop down menus instead of MenuItem.
  • Added example project for DesktopPictureButton on Xojo 2021r3 and later.

More info at www.einhugur.com

3 Likes

UtilsLib 7.5.2 plugin for Xojo is out

(This is only tiny fix update)

New in 7.5.2:

  • The GenerateGUID function will now return result with proper encoding hint.

UtilsLib is a Xojo, which has cross platform GUID Generation, ComputerName and UserName, day names, month names, bit wise handling, currency formatting, OS X Dock Tile functions, access to the location manager and many other utility functions.**

Many functions of this plugin are supported on MacOS X, Windows, Linux and Linux ARM.

More info at www.einhugur.com

1 Like

CustomButton 3.3 plugin for Xojo and TypeLib 11.1 for Xojo are out

CustomButton is a plugin to create Custom rendered colored button, check boxes, radio buttons and switches for all desktop platforms.

New in Version 3.3

  • The DesktopCustomButton now uses DesktopMenuItem for drop down menus instead of MenuItem.
  • Added example projects for Xojo 2021r3 and later using the Desktop versions of the controls.
  • Updated default event attribute on DesktopCustomCheckBox.
  • Updated default event attribute on DesktopCustomRadioButton.
  • Updated default event attribute on DesktopCustomSwitch.
  • Fixed bug in DesktopCustomCheckbox control where mouse down coloring would not always disappear even if mouse was no longer down.

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

CustomButton

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

image

Custom checkbox supports:
macOS Dark Mode customization.
Windows Dark Mode customization.
macOS High contrast mode customization.
Common Apple accessibility features for checkbox widget.
Several ways of focus handling.
Mixed states.

Custom Radio button supports:
macOS Dark Mode customization.
Windows Dark Mode customization.
macOS High contrast mode customization.
Common Apple accessibility features for checkbox widget.
Several ways of focus handling.
Automatic radio-button grouping.

TypeLib is Xojo plugin to define some type and support other Einhugur Plugins as well as define RawBitmap classes which is the foundation of our image processing framework.

New in TypeLib 11.1:

  • Added Crop method to the RawBitmap class.
  • Fixed critical memory issue when Drawing RawBitmap into RawBitmap.

More info at www.einhugur.com

1 Like

We just posted version 1.2.5 of the Einhugur loose Fork of the TextInputCanvas.

New in version 1.2.5:

  • Added ScaleFactorChanged event.

The plugin can be found in the open source section of our web:
https://einhugur.com/Html/opensource.html

TextInputCanvas

TextInputCanvas is a plugin for the Xojo programming environment that allows developers to implement custom text input controls with international input support.

TextInputCanvas is used in several open source projects, one of them is Garry Pettet’s new Better Code Editor. (at GitHub - gkjpettet/better-code-editor: A customisable, native, Xojo code editor.)

Our TextInputCanvas is loose fork of the TextInputCanvas from Xojo Inc at:

GitHub

GitHub - xojo/TextInputCanvas: TextInputCanvas is a plugin for the Xojo…

We have progressed their version and provide builds for everyone for all platforms.

Note: We cannot help you with setting up build tool chain or provide you with any custom tools we use in our tool chain.

Special thanks to Martin, who has been testing and also submitting changes.

4 Likes

TreeView 9.2.4 is out

Version 9.2.4 is small hotfix for problem on Windows where System chosen NodeOddColor was only suited for dark mode.

TreeViewDarkModeWin
TreeView on Windows dark mode

More info at www.einhugur.com

1 Like

If there is interest in the following then I will release it in our Free plugin TypeLib, as gift to the community (as early as on the weekend).

#Pragma DisableBackgroundTasks
#Pragma DisableBoundsChecking

var timing as Int64 = System.Ticks

var sb as  new EinhugurStringBuffer(Encodings.UTF8)

for i as Integer = 1 to 1000000. // 20 Ticks
  sb.Add("Björn")
  sb.Add(" ")
  sb.Add("Eiríksson")
next

var result as String  = sb.Value

MessageBox  Str(System.Ticks - timing)
MessageBox  result.Length.ToString() // We just have this to make sure the loop does not get optimized out of the code

#Pragma DisableBackgroundTasks
#Pragma DisableBoundsChecking

var timing as Int64 = System.Ticks

var result as String

for i as Integer = 1 to 100000   // 403 ticks for much fewer rounds.  // Could not get 1000000  rounds to finish at all
  result = result + "Björn"
  result = result + " "
  result = result + "Eiríksson"
next

MessageBox  Str(System.Ticks - timing)
MessageBox  result.Length.ToString() // We just have this to make sure the loop does not get optimized out of the code

The Xojo string add we had to feed much fewer round to that one since I could not get it to finish 1000000 at all. And if I fed less to the EinhugurStringBuffer then I just got zero ticks.

Its not been stress tested a lot but hopefully the community will find ways to put it under load.

Best case for speed is when its all the same encoding but it does support mixed encodings, but will take speed hit from it.

4 Likes

Certainly easier than writing Xojo MemoryBlock based code!

With MemoryBlocks I think the size of the initial size of the MemoryBlock and how big the chunks added when needed are, would have a significant impact on speed.

Does your class allow setting of the initial buffer size and the increments or does it work in a different manner than one would do it with MemoryBlocks in Xojo code?

-Karen

It works very differently, there is no buffer.

When you call the value property in the end then it knows how long the string will be. And will allocate exactly what it needs.

With that said then its of course best to call the Value property only once ! Since that is where the work happens.

It basically create strategy map as you add the strings but does nothing else with them at that point in time. Strategy changes depending on what you feed it. Like mixed encodings would affect it.

Given the bottleneck string concatenations can be in Xojo because of immutability for some applications, this type of functionality should be built into the framework IMO!

That class would certainly be a welcome addition!

-karen

1 Like

agreed

1 Like

That is what our StringHandleMBS class would do.
Also a join() of an array of string may also do it.