Recent

Author Topic: MDI and Lazarus (Windows WidgetSet)  (Read 24277 times)

Thaddy

  • Hero Member
  • *****
  • Posts: 14201
  • Probably until I exterminate Putin.
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #15 on: September 27, 2016, 03:20:28 pm »
The mainform contains all basic control and is basically menu+toolbars and a restricted height. Alignment is caTop and starts at 0.0. (That's a compromize, compared to mdi, but a light one.)
The childforms inherit the restricted hight/bottom as their own top+1 so they can never overlap the main form.
Same as lazarus (should) do, but Lazarus has a creation order problem for forms and controls with caTop that are not yet visible, so I check that every time programmatically by iterating through the mainform children.
« Last Edit: September 27, 2016, 03:22:43 pm by Thaddy »
Specialize a type, not a var.

snorkel

  • Hero Member
  • *****
  • Posts: 817
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #16 on: September 27, 2016, 03:27:43 pm »
As a alternative to the classic MDI, using a tabbed based interface is actually better.
One of the best tab controls for lazarus in my opinion is AtTabs: 
http://wiki.freepascal.org/ATTabs

You can create very very nice tab based MDI with this control.
***Snorkel***
If I forget, I always use the latest stable 32bit version of Lazarus and FPC. At the time of this signature that is Laz 3.0RC2 and FPC 3.2.2
OS: Windows 10 64 bit

PeterX

  • Sr. Member
  • ****
  • Posts: 404
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #17 on: September 27, 2016, 03:33:36 pm »
As a alternative to the classic MDI, using a tabbed based interface is actually better.
Thanks for the hint .. I need to convert an existing MDI project from Delphi.
Very complex things, TDI would change everything.
Is Your suggested TDI solution also Delphi compatible ?
« Last Edit: September 27, 2016, 07:32:11 pm by PeterX »
usually using latest Lazarus release version with Windows 10

wp

  • Hero Member
  • *****
  • Posts: 11854
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #18 on: September 27, 2016, 03:34:49 pm »
As a alternative to the classic MDI, using a tabbed based interface is actually better.
This may be true sometimes, but definitely it is wrong if you have to compare two files. In the MDI you just place the two child windows side by side - with tabs you can't do anything like that.

PeterX

  • Sr. Member
  • ****
  • Posts: 404
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #19 on: September 27, 2016, 04:47:44 pm »
Okay, this looks more like what I expected ..  8)
usually using latest Lazarus release version with Windows 10

PeterX

  • Sr. Member
  • ****
  • Posts: 404
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #20 on: September 27, 2016, 04:49:51 pm »
.. and the ZIP
usually using latest Lazarus release version with Windows 10

Thaddy

  • Hero Member
  • *****
  • Posts: 14201
  • Probably until I exterminate Putin.
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #21 on: September 27, 2016, 05:23:15 pm »
As a alternative to the classic MDI, using a tabbed based interface is actually better.
As I - and some others - explained this is not always the case. Not only when backporting.
Tabbed based interfaces have their own drawbacks, specifically visibility. That's a very BAD thing.
What MS intended is to switch over to a document centered abstraction, which does not mean tabs.
It means the document is presented at all times and the tools to workwith the document are displayed on demand, depending on context.
They call that SDI. And doesn't exclude that one of the tools is another copy of the document visible at the same time.
« Last Edit: September 27, 2016, 05:25:42 pm by Thaddy »
Specialize a type, not a var.

PeterX

  • Sr. Member
  • ****
  • Posts: 404
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #22 on: September 28, 2016, 08:45:33 pm »
I tried LMDI, can be found inside
http://mydbfstudio.altervista.org/down.html

It works with the older MultiDoc 0.3

Screenshots show redrawing errors on my PC,
when moving the ChildForms.
The MultiFrame seems to work smoother ..
« Last Edit: September 28, 2016, 08:47:44 pm by PeterX »
usually using latest Lazarus release version with Windows 10

PeterX

  • Sr. Member
  • ****
  • Posts: 404
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #23 on: September 28, 2016, 08:46:20 pm »
...
usually using latest Lazarus release version with Windows 10

PeterX

  • Sr. Member
  • ****
  • Posts: 404
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #24 on: September 28, 2016, 10:58:50 pm »
I hacked around a little bit and try now to
put together MultiFrame and LMDI ..
« Last Edit: September 28, 2016, 11:01:27 pm by PeterX »
usually using latest Lazarus release version with Windows 10

tr_escape

  • Sr. Member
  • ****
  • Posts: 432
  • sector name toys | respect to spectre
    • Github:
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #25 on: November 03, 2016, 08:48:01 am »
Hello,

There is a new repository for this multidocing project on github.com:

https://github.com/mehmetulukaya/laz-components

It is working in Linux and Windows but in win there are some exceptions...


bobihot

  • New Member
  • *
  • Posts: 35
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #26 on: January 23, 2017, 12:14:49 am »
How can to have tabbed MDI like a browsers tabs?
To swich between it from tabs above.

Thaddy

  • Hero Member
  • *****
  • Posts: 14201
  • Probably until I exterminate Putin.
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #27 on: January 23, 2017, 07:11:27 am »
How can to have tabbed MDI like a browsers tabs?
To swich between it from tabs above.
That's not MDI, but SDI.
Simply put a pagecontrol on your form and create tabs.
Specialize a type, not a var.

avra

  • Hero Member
  • *****
  • Posts: 2514
    • Additional info
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #28 on: January 23, 2017, 08:30:37 am »
How can to have tabbed MDI like a browsers tabs?
To swich between it from tabs above.
Browser like tabs: http://wiki.freepascal.org/ATTabs
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

Andyk

  • Jr. Member
  • **
  • Posts: 72
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #29 on: April 13, 2017, 09:53:30 pm »
How can to have tabbed MDI like a browsers tabs?
To swich between it from tabs above.
Browser like tabs: http://wiki.freepascal.org/ATTabs

Can you explain, how, with a Tabbed interface, you can tune the value of a component in a schematic diagram whilst simulataneously watching how it changes the printed circuit layout and at the same time watch how it changes the circuit performance on 3 seperate measurement  charts ?

All major EDA programs use MDI interfaces, its one reason why you don't find these applications implemented on MAC's.

 

TinyPortal © 2005-2018