O$4 - Copy a continer object

Michael Mantkowski michaelj at clientrax.com
Mon Mar 16 07:31:33 EDT 2015

Hi Mischa,

I have been thinking along those same lines.

I could probably work out a method of doing the same with the subwindow as
well.  My thought is that I could save a list of any instance variables in
the original subwindow that is in scope to the container window, then create
a new subwindow from the original and use the list to initialize the
instance variables to what they were in the original subwindow.  Once the
new subwindow is open, then I could delete the original one under it and we
would have the new one on top.

There will probably be unforeseen complications and as you say their might
be some redraw issues but I don't plan on have all that many windows open at
the same time.  But, some of them are a bit extensive with 200 or so objects
on them.  It’s a lot of processing to do something like this, but it may
work.  I will play around with it and report back.



Michael Mantkowski
ClienTrax Software

-----Original Message-----
From: omnisdev-en-bounces at lists.omnis-dev.com
[mailto:omnisdev-en-bounces at lists.omnis-dev.com] On Behalf Of Mischa
Sent: Sunday, March 15, 2015 8:32 PM
To: 'OmnisDev List - English'
Subject: Re: O$4 - Copy a continer object

Hi Michael,

yes, this is what I meant with 'Desktop Window'

I've played a little bit around and discovered (getting to your initial
problem), that complex grids are copied with their contents. This could give
you a possibility to manage the Z order of your child-windows. You could use
the header of the complex grid as window bar, and the horizontal header or
the row for the objects/bobjects of your child window, depending on your
preferences. When a child window shall come to front, you copy it to a new
complex grid object and delete the old one. This might turn out a bit more
complicated at the second glance because when the user clicks into an entry
field you have to take care that it is the current field in the newly
created object, but I think it should be doable. Maybe a similar approach
can be done with subwindows as well, but it might evoke a performance issue,
when there are many child windows around.


  T H E   O M N I S   L /\ B     www.omnislab.com

-----Ursprüngliche Nachricht-----
Von: omnisdev-en-bounces at lists.omnis-dev.com
[mailto:omnisdev-en-bounces at lists.omnis-dev.com] Im Auftrag von Michael
Gesendet: Montag, 16. März 2015 00:17
An: 'OmnisDev List - English'
Betreff: RE: O$4 - Copy a continer object

I think when Mischa refers to a "Desktop Window" he simply means a Window
that can contain other windows and act as a container for several Window
Instances that are independent of each other.  Just like with Word or Excel
where each document file opens in its own space but can be acted upon with
all the features of Excel.

This is what I want to do.  I want to have virtual client spaces where I can
open several windows (Client window, Patient Window, Invoice Window, Etc.)
and each one is its own space but its Windows act just like any other window
in Omnis.  But it is restricted on its own "Desktop".  Using this, the
computer operator can then open several different clients and act on each of
them independently without losing their place when they move between them.

As I said in the previous post, I can do all this now with Subwindows.
However, the one drawback is that we cannot control the Z Order of the
Subwindows.  So simply clicking on the Subwindow space does not bring it to
top unless you are in Enter Data Mode or Modeless enter data and have an
entry field active.  Then once you leave that Subwindow, it goes back to its
Z Order position even if you wanted it to be on top or at least in the 2nd
position.  This being the case, overlapping windows are a problem.  And
there is not enough room on a single desktop where I could have every window
they might like to use open at the same time.

Of course we could start using Tab Panes and other methods of hiding and
showing various information.  But sometimes it is just nice to have your
windows where you want to put them rather than where the developer decides.


Michael Mantkowski
ClienTrax Software

-----Original Message-----
From: omnisdev-en-bounces at lists.omnis-dev.com
[mailto:omnisdev-en-bounces at lists.omnis-dev.com] On Behalf Of Doug
Sent: Sunday, March 15, 2015 4:18 PM
To: OmnisDev List - English
Subject: Re: O$4 - Copy a continer object

Personal opinion.

I would never want a 'desktop' window -- users on OSX expect that the
Z-Order of windows be independent of applications.   In other words, you can
have an excel, word, omnis, word, omnis ,then excel window.   in that order.

makes interaction between applications far easier

however, If you wish to use MDI frames metaphor (a la windows), could you
make a window that sits in the background with everything else aways on top
-- if you wanted.

Personally, what I really want is the ability to drag items from omnis to
the desktop -- to get data out of lists

Doug Easterbrook
Arts Management Systems Ltd.
mailto:doug at artsman.com
Phone (403) 536-1205    Fax (403) 536-1210

> On Mar 15, 2015, at 11:49 AM, Mischa <mischa at omnislab.com> wrote:
> Hi Michael,
> this was my prayer to Blyth/Omnis Software/Raining Data/TL since ages:
> us a desktop window. This is a window that stays in background all the
> but can react to mouse clicks and events - for exactly the thing you have
> mind. My impression always was, they had no idea what I'm talking about,
> however now that I sometimes have to test my applications on Macs, I can
> why - Macs don't have a desktop at all. At $euromnis 2014 I however had
> opportunity to talk with Bob Whiting, and at least it was acknowledged
> this in fact could be useful and not too hard to implement ;)
> You cannot switch the $order in a window instance, however setting the
> current field should bring it to the front. I did something similar with
> subwindows, however gave up because the redraw was quite strange when I
> dragged it around in the master window - the screen contents from the old
> position was not removed so it had a trail along the movement.
> Best greetings
> Mischa

Manage your list subscriptions at http://lists.omnis-dev.com

Manage your list subscriptions at http://lists.omnis-dev.com

More information about the omnisdev-en mailing list