Forum > Third party

Good news : LiteZarus 2022

<< < (2/3) > >>

x2nie:

--- Quote from: Fred vS on September 04, 2022, 08:23:56 pm ---
--- Quote ---note : if you have forked my old LiteZarus, you can drop and refork.  It is another new github repository.
Whats your opionion?
--- End quote ---

So LiteZarus is a branch of Lazarus project now?
https://github.com/x2nie/Lazarus/tree/litezarus

--- End quote ---


To see it in action, you can try to install one (or all altogether) of below packages:
* NotLCLDesigner : Litezarus: /examples/designnonlcl/ (notlcldesigner.lpk + NonLCL1.lpr)
* TUI (text user interface ) : https://github.com/x2nie/TUI
* LUI (widgetset prototype) : https://github.com/x2nie/lui

yeah, not my best, just another widgetset testdrive  :P

Fred vS:
Not sure to understand.
Does LiteZarus have his own LCL form-designer independent that can be run from a other application (like fpGUI UIdesigner)?
I have to re-jump deeper in your project;

x2nie:

--- Quote from: Fred vS on September 04, 2022, 08:28:51 pm ---Do you think that there is any chance to integrate MSEgui widgetset in LiteZarus too?
(Maybe too difficult for the form-designer.)

--- End quote ---


MSEgui ? I think it is worth to try.  Maybe Ill try it next weekend.


However, to help you do quick jump, if you curious, here what in my head based on my experience:


Any graphical component life in different degree of its original life-cycle when being edited inside The Lazarus Form Editor.
1. your TForm/Form1 (or any windowing root graphical component) run without "application". And should never be run ontop any application unless the Lazarus IDE it self.
2. Lazarus doesn't care how your LFM / DFM / XML being loaded, it will be loaded only by lazarus way.
3. for non LCL, you need to draw your component into an auto-created LCL TFrom, while your actual component being hidden, and it will be always hidden. It is how "Mediator" works.


So, actual "TApplication" is not available during designing form. only the lazarus itself is the running application.


My early approach is to put a real application (such as fpGUI VisualDesiner) running together with Lazarus and communicate via LSP (languange server protocol),
but that will requires lot time to understand both world, and I think studying them will drains quickly my spare time  :o ;D

x2nie:

--- Quote from: Fred vS on September 04, 2022, 08:41:40 pm ---Not sure to understand.
Does LiteZarus have his own LCL form-designer independent that can be run from a other application (like fpGUI UIdesigner)?
I have to re-jump deeper in your project;

--- End quote ---


No, LiteZarus's designer just usual Lazarus one.
But It able to resolve the Component's Class finder, so Litezarus will gives a correct ComponentClass (TComponent class) when asked by a class name (string),
by detecting the used units of the being edited unit.


So, let say there is 2 TButton registered in LIteZarus, and if your code is:

--- Code: ---unit unit1;


interface
uses MyWidgetset;


type
  TForm1 = class(TMyForm)

    Button1: TButton;
  private
    { Private declarations }
  public
    { Public declarations }
  end;


var
  Form1: TForm1;


implementation


{$R *.lfm}


end.
--- End code ---

So LiteZarus will found the "MyWidgetset.TButton" (instead of well known LCL : "StdCtrl.TButton") because your code declared MyWidgetset in it's interface section.

That is the trick.

x2nie:
below is the appearance of my LUI.


The different of it with the "NotLCLDesigner" demo is:
each LUI's component type has its own painting method.
This approach (paint by individual component class) is the most similar to actual situation we meet in fpGUI / non-lcl widgetset
While the other one has no paint method in its component class level,
so as the picture in first post in this thread, that whole form is fully drawn by a mediator class, not by component itself.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version