Recent

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

PeterX

  • Sr. Member
  • ****
  • Posts: 437
MDI and Lazarus (Windows WidgetSet)
« on: September 23, 2016, 11:01:32 am »
Hi all,

well known issue of Lazarus under Windows,
MDI is not fully implemented.

Latest post about MDI in this forum was
http://forum.lazarus.freepascal.org/index.php/topic,29357.msg185322.html#msg185322

MDI children do overlay, in this appended example,
TToolBar and TStatusBar when moved or maximized.
The appended example is the MDI template from D5.
Could be a test case for this ..

I think about alternatives, probably TDI ?
But until today I didn't find a fully working replacement for MDI ..   :'(
usually using latest Lazarus release version with Windows 10 or 11

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1106
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #1 on: September 23, 2016, 04:50:42 pm »
About MDI, take a look here:
http://wiki.lazarus.freepascal.org/MultiDoc
https://sourceforge.net/p/skychart/code/HEAD/tree/trunk/skychart/component/multiframe/

Here says MDI support is on progress, but not ready yet:
http://wiki.lazarus.freepascal.org/Roadmap

I also have started another topic to separate the discussion about TDI on
http://forum.lazarus.freepascal.org/index.php/topic,34142.0.html

« Last Edit: September 23, 2016, 05:04:50 pm by valdir.marcos »

PeterX

  • Sr. Member
  • ****
  • Posts: 437
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #2 on: September 23, 2016, 05:38:18 pm »
Yes, I have already seen this a few weeks ago
  http://wiki.freepascal.org/TTDINotebook
and played around with it a little bit.

But I didn't have the time jet to seriously try and build it into my app ..
usually using latest Lazarus release version with Windows 10 or 11

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1106
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #3 on: September 23, 2016, 05:57:17 pm »
Have you tried MultiFrame (former MultiDoc)?

PeterX

  • Sr. Member
  • ****
  • Posts: 437
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #4 on: September 23, 2016, 06:04:09 pm »
Thanks for this hint !

I didn't know it exists.
Did You work with MultiFrame ?
Does it work, somehow ?
usually using latest Lazarus release version with Windows 10 or 11

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1106
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #5 on: September 23, 2016, 06:32:39 pm »
We have migrated a Delphi 7 MDI application some years ago to Lazarus 1.0 using MultiDoc.
The result was good.
We have not upgrated that application to MultiFrame, which is the new name for project MultiDoc, so far.
Today we have plans on migrating that application to TDI.
I am now searching for a TDI solution on Lazarus 1.6.

zeljko

  • Hero Member
  • *****
  • Posts: 1770
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #6 on: September 23, 2016, 08:09:45 pm »
QtLCL have full support for MDI on all supported platforms (linux,mac & win).
If you need TDI , then under QtLCL it could be setted up via QMdiArea_setViewMode() ...

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1106
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #7 on: September 23, 2016, 08:21:54 pm »
Thanks zeljko.

I will copy your sugestion about TDI to the other thread.

PeterX

  • Sr. Member
  • ****
  • Posts: 437
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #8 on: September 27, 2016, 12:27:50 pm »
Okay,

I started playing around with that MDI replacement component "MultiFrame" ..  ::)
usually using latest Lazarus release version with Windows 10 or 11

PeterX

  • Sr. Member
  • ****
  • Posts: 437
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #9 on: September 27, 2016, 12:28:45 pm »
.. and here's the Project  :)
usually using latest Lazarus release version with Windows 10 or 11

Thaddy

  • Hero Member
  • *****
  • Posts: 17420
  • Ceterum censeo Trumpum esse delendum (Tnx Charlie)
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #10 on: September 27, 2016, 12:37:44 pm »
Note that the userinterface guidelines from Microsoft state since Windows XP that MDI interfaces should be assumed deprecated in favor of SDI interfaces but it is still supported for applications that can not easily be represented in an SDI model.
That may be the cause that the work on MDI was never really finished. The above can be demonstrated by several MS major products that changed their interface accordingly.
The official MS statement is:
"Under Windows 95 and later, applications are commonly SDI because the operating system has adopted a "document-centered" view."
Due to censorship, I changed this to "Nelly the Elephant". Keeps the message clear.

PeterX

  • Sr. Member
  • ****
  • Posts: 437
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #11 on: September 27, 2016, 12:43:04 pm »
Hi Thaddy,

Yes, I know this deprecated. But doesn't help.
The old application I maintain is a MDI app.
So coming from Delphi 5 I need such a userinterface, currently.
usually using latest Lazarus release version with Windows 10 or 11

wp

  • Hero Member
  • *****
  • Posts: 12909
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #12 on: September 27, 2016, 12:46:02 pm »
I never understood why they gave up MDI. (Probably because it never worked correctly). It was very useful and convenient to compare two and more documents side-by-side, a tabbed interface is a pain in this context, and not every program offers the possibility to move a document into a second window (like Lazarus does), and even opening a second instance is inhibited sometimes.

Thaddy

  • Hero Member
  • *****
  • Posts: 17420
  • Ceterum censeo Trumpum esse delendum (Tnx Charlie)
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #13 on: September 27, 2016, 01:58:01 pm »
I never understood why they gave up MDI. (Probably because it never worked correctly). It was very useful and convenient to compare two and more documents side-by-side, a tabbed interface is a pain in this context, and not every program offers the possibility to move a document into a second window (like Lazarus does), and even opening a second instance is inhibited sometimes.
Actually, I agreed with you infull upto windows 7 where the document docking was improved: Dock a document or application to the side or top/bottom of the screen.
I still agree that for some applications MDI is very valuable, but I have become accustomed to design my applications in  a different manner: not necessarily tab based but with a splitter when comparisons are needed.
I think that docking (in- or outside an application) is actually rather better.

Porting an MDI application should not be very difficult as long as you keep the forms more or less intact. I have done that many times to date.
Due to censorship, I changed this to "Nelly the Elephant". Keeps the message clear.

PeterX

  • Sr. Member
  • ****
  • Posts: 437
Re: MDI and Lazarus (Windows WidgetSet)
« Reply #14 on: September 27, 2016, 02:28:00 pm »
Porting an MDI application should not be very difficult as long as you keep the forms more or less intact. I have done that many times to date.

Please see my first post, an example is appended there.

MDIchildren do overlay additional components of the MainForm
like TToolBar and TStatusBar.

How did You solve this ?
usually using latest Lazarus release version with Windows 10 or 11

 

TinyPortal © 2005-2018