Recent

Author Topic: MDI FORMS  (Read 45576 times)

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12571
  • FPC developer.
Re: MDI FORMS
« Reply #15 on: February 09, 2010, 04:43:49 pm »
I think MDI should be implemented for Windows. I had a quick look, and the initial implementation is not that much work probably, but the follow up will be hell. (to squash all bugs and incompatibilities).

Sb (iirc Zeljan) remarked that QT also supported MDI like functionality.

zeljko

  • Hero Member
  • *****
  • Posts: 1811
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: MDI FORMS
« Reply #16 on: February 09, 2010, 05:34:45 pm »
Yes, MDI works ok with qt (I'm using it in our ERP application). Of course interface need simple patch (for delphi compat) with routines like:

in TCustomForm ...
  {MDI implementation}
  function ActiveMDIChild: TCustomForm; virtual;
  function GetMDIChildren(AIndex: Integer): TCustomForm; virtual;
  function MDIChildCount: Integer; virtual;
  property MDIChildren[I: Integer]: TCustomForm read GetMDIChildren;

With this patch, qt completely handle all MDI features I need.Of course there are more MDI routines to be implemented, but there's no single change needed in LCL except adding this routines (can't remember now, but maybe at one place if FStyle = fsMDIChild then blah..).

zeljko

  • Hero Member
  • *****
  • Posts: 1811
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: MDI FORMS
« Reply #17 on: February 09, 2010, 05:37:23 pm »
Sb (iirc Zeljan) remarked that QT also supported MDI like functionality.

It's remarked as partially supported, just because missing routines in TCustomForm for MDI children handling - instead of that it works ok.
If someone can implement win32 part, then probably other developers will agree about adding it to LCL, but then also someone have to find the way how to implement it under gtk2 and carbon (gtk2 doesn't support "classic" MDI, dunno for carbon).
Qt also supports two kinds of MDI - one is classic , second is tabbed mdi childs.

LazaruX

  • Hero Member
  • *****
  • Posts: 597
  • Lazarus original cheetah.The cheetah doesn't cheat
Re: MDI FORMS
« Reply #18 on: August 02, 2010, 05:12:49 pm »
But why does this seem to work?

Am I just doing something very stupid? Or what?

Will this work on Linux?

http://img64.imageshack.us/img64/5158/mdi.jpg

Leledumbo

  • Hero Member
  • *****
  • Posts: 8833
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: MDI FORMS
« Reply #19 on: August 03, 2010, 06:49:54 am »
Quote
But why does this seem to work?

Am I just doing something very stupid? Or what?
CMIIW, but AFAIK the currently working one is form docking, not MDI.
Quote
Will this work on Linux?
Yes.

Rogerther

  • Newbie
  • Posts: 6
Re: MDI FORMS
« Reply #20 on: October 19, 2010, 03:13:17 pm »
But why does this seem to work?

Am I just doing something very stupid? Or what?

Will this work on Linux?

http://img64.imageshack.us/img64/5158/mdi.jpg


Hello all.

I'm trying to create an application where a main form is always visible to the user (will have a calendar and reminders) and allow the user to have 2 or 3 windows simultaneously opened... (much like MDI). I tried to make the childs forms always on top but that didn't work (maybe if there was an option to put the form always on bottom and apply that to the main form...).

I have already looked at multidoc and It looks like it uses images for the windows control bottoms (minimize,close,maximize) and that will change the look of the application depending on the environment.

BPsoftware how did you managed to create a child form that doesn't disappear when you click in the main form.

Can someone point some alternatives that could be applied to my problem?

Thanks in advance.

Rogerther

  • Newbie
  • Posts: 6
Re: MDI FORMS
« Reply #21 on: October 20, 2010, 05:36:35 pm »
Would it be possible to implement something like always on bottom to apply to a main form?

zeljko

  • Hero Member
  • *****
  • Posts: 1811
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: MDI FORMS
« Reply #22 on: October 20, 2010, 06:51:44 pm »
I've implemented an MDI emulator for LCL (for widgetsets which does not have MDI (eg. Gtk2)).
I'll commit it to svn trunk in few weeks probably (currently very busy with other things).
Progress on MDI emu info:
http://wiki.lazarus.freepascal.org/User:Zeljan  .. in My TODO list

Rogerther

  • Newbie
  • Posts: 6
Re: MDI FORMS
« Reply #23 on: October 21, 2010, 08:09:20 am »
I've implemented an MDI emulator for LCL (for widgetsets which does not have MDI (eg. Gtk2)).
I'll commit it to svn trunk in few weeks probably (currently very busy with other things).
Progress on MDI emu info:
http://wiki.lazarus.freepascal.org/User:Zeljan  .. in My TODO list

Thank you very much zeljko.

matthius

  • Full Member
  • ***
  • Posts: 178
  • Creating VRAD...
    • LIBERLOG - Développement rapide
Re: MDI FORMS TSuperform
« Reply #24 on: June 08, 2011, 04:31:42 pm »
Dont forget for integrating Child Forms to use TSuperForm in Extended projet.

http://www.lazarus-components.org/index.php/Voir-details/Forms/129-TSuperForm.html
http://code.google.com/p/extended/

There is also Man Frames and XML Frames on these pages.
M. GIROUX
13 rue Tanguy PRIGENT
35000 RENNES - France
http://liberlog.fr

 

TinyPortal © 2005-2018