MDI WIndowsinwindows

xcelguy

New Member
anyone have any example code of windows within windows, probably using parent-child?

for example have a main sports applicaiton window, the user clicks the customer button and a window in side the window comes up, he does his work, closes it, or opens another window, ie inventory.

this will really help me, thanks.
 

joey.jeremiah

ProgressTalk Moderator
Staff member
Rob,

there isn't such a thing as mdi in progress
i.e. windows that show inside of other windows

at least not in oe10, i haven't seen 10.1a coming this fall


although a window can logically parent other windows
some of the implementation of such a case is

if you delete the parent it's children including any windows are also deleted
and other expected behavior e.g. minimizing, hiding etc.


another thing you can do is in adm
although it's much simpler in dynamics

you can run menus as tree views where the programs
display in a frame beside them in a single window


though i think i saw some material on mdi
@Jurjen Dijkstra's global-shared.com using windows api

but you should consider that using specific os api's
promotes platform lock-in
 

bulklodd

Member
for example have a main sports applicaiton window, the user clicks the customer button and a window in side the window comes up, he does his work, closes it, or opens another window, ie inventory.

As Joye’s already written PSC doesn’t support real MDI. But you can use 4gl frames inside a window to get this behavior. 4gl frames and child windows are alike in many ways.
 

lord_icon

Member
Mdi

MDI is technically NOT possible using Progress / Progress OpenEdge, though you can easily create the illusion.
There is nothing to stop you having a frame on a container src, which you can set the properties to point to something else.
 

xcelguy

New Member
joey: pleasereply

joey.jeremiah said:
Rob,

there isn't such a thing as mdi in progress
i.e. windows that show inside of other windows
at least not in oe10, i haven't seen 10.1a coming this fall
>although a window can logically parent other windows
some of the implementation of such a case is
>if you delete the parent it's children including any windows are also deleted
and other expected behavior e.g. minimizing, hiding etc.
>another thing you can do is in adm
although it's much simpler in dynamics
>you can run menus as tree views where the programs
display in a frame beside them in a single window
>though i think i saw some material on mdi
@Jurjen Dijkstra's global-shared.com using windows api
>but you should consider that using specific os api's
promotes platform lock-in

running menus as treeview? pull down menus? , to many frames, they are not programs, the whole application in one program, who to big, progress cant handle it.

jurjen and I tried implementing child windows and others did too never got it to work, so he deleted the whole project.

os api's promoting platform lock-in? please explain, I know what an api is, but what are you saying?

that's why we almost considered writing everthing in java, but java is to boggish slow..
activex, to many security issues

is there another?
 

xcelguy

New Member
4gl frames

bulklodd said:
As Joye’s already written PSC doesn’t support real MDI. But you can use 4gl frames inside a window to get this behavior. 4gl frames and child windows are alike in many ways.

using 4gl frames, you would have a huge main.w program, cant call external programs, as frames, wow what a mess.

unless you see something I don't
 

xcelguy

New Member
please explain further

lord_icon said:
MDI is technically NOT possible using Progress / Progress OpenEdge, though you can easily create the illusion.
There is nothing to stop you having a frame on a container src, which you can set the properties to point to something else.

please explain, you mean i can set up one frame to load other .w windows? that are smartwindows, and smart objects? i dont follow?
 

joey.jeremiah

ProgressTalk Moderator
Staff member
> running menus as treeview? pull down menus? , to many frames, they are
> not programs, the whole application in one program, who to big, progress
> cant handle it.

i think you're confusing alot of things...

why do you think a menu should hold all it's programs ?
even in v6 procedure-driven programs, that wouldn't be true

in event-driven, objects i.e. programs are run in parallel to each other
and communicate using publish/subscribe events

you could have a menu that launches say... 5 diff programs
and use all of them at the same time


in dynamics all the programs and basically everything else including menus is data i.e. tables
that get's realized at run-time using driver procedures for each object type

here's a better explanation on using tree views to represent menus
from the dynamics basic development doc

<quote>
You can also use the dynamic TreeView layout as a way to represent a menu structure. In this
way the hierarchy of your menu, with potentially multiple levels, appears represented as a tree
on the left side of your application window. The dynamic windows that are launched from the
items in your menu structure are all realized as frames in the panel on the right side of the
window, just as you saw in the earlier example.
If these windows in turn launch other separate windows, then these will still appear as separate
windows rather than as frames in the TreeView window. You can control this if you wish by
representing the multiple frames as tabs in a single tab folder rather than as separate windows.
</quote>


> os api's promoting platform lock-in? please explain, I know what an api is,
> but what are you saying?

if you're using os specifc api's, in our case windows api's
you'd have a problem if you wanted to move to say... linux a few years from now


> is there another?

there are other options like a .net front-end
but i'd say find a practical solution you can handle
 

xcelguy

New Member
MDI windows

I havent used dynamic treeview, is that accessable through the gui got any example code, i will research it, i might of done it in advanced progress class a couple years ago, but never used it.

thanks
 

joey.jeremiah

ProgressTalk Moderator
Staff member
if you're not familiar with adm and dynamics
it will take around 6 month just to catch up ...

again maybe you should consider
a more practical solution with what's at hand


you can use the documentation and tutorials
which also come packed with samples ( including treeviews )

start with the appbuilder doc ( the getting start doc on smartobjects )
graduate to adm and smartobjects doc ( advanced smartobjects )

after you're comfortable with adm move to dynamics
with the dynamics basic and advanced documentations


there isn't a consensus about adm/smartobjects
and the dynamics and dwp frameworks

far from it, some people strongly oppose it

personally i love adm and dynamics
and i think in terms of ui nothing comes close ( within progress )


you can find the docs @psdn.com

there are also a couple of webevents on dynamics
although they maybe abit outdated

dynamics comes with oe studio ( oe10 )
 

xcelguy

New Member
I am already familiar with adm and dynamics, and smart objects and appbuilder.

joey.jeremiah said:
if you're not familiar with adm and dynamics
it will take around 6 month just to catch up ...
again maybe you should consider
a more practical solution with what's at hand
you can use the documentation and tutorials
which also come packed with samples ( including treeviews )
start with the appbuilder doc ( the getting start doc on smartobjects )
graduate to adm and smartobjects doc ( advanced smartobjects )
after you're comfortable with adm move to dynamics
with the dynamics basic and advanced documentations
there isn't a consensus about adm/smartobjects
and the dynamics and dwp frameworks
far from it, some people strongly oppose it
personally i love adm and dynamics
and i think in terms of ui nothing comes close ( within progress )
you can find the docs @psdn.com
there are also a couple of webevents on dynamics
although they maybe abit outdated
dynamics comes with oe studio ( oe10 )

I took several of the courses,

image001.gif
[FONT=&quot]
V8/9 Adv. Prog. Techniques
[/FONT]
image001.gif
[FONT=&quot]
V8 Database/Code Performance.. Tuning/Stress Testing,
[/FONT]
image001.gif
[FONT=&quot]
Using the Progress Application Component Environment (ACE), v8/9[/FONT]
Object oriented programming, graphical user interface (GUI) programming, smart objects & methods


This is what I am not sure of
> treeviews, dwp frameworks
but shouldnt be too hard,

ive got all my old course material too.

but i dont have a copy of a tree view example
 

joey.jeremiah

ProgressTalk Moderator
Staff member
you should download a current copy of the docs off psdn.com
they're free ofcourse although you might need to register first

funny story, at my first year at university i was kinda short on cash
and i used the v8 docs i took from some place as toilet paper :)


i've never used it directly but i think there's a native 4gl treeview widget
you can also find a sample @psdn.com codeshare

dwp is a competing framework to dynamics
http://www.dynamicwebclient.com/
 

joey.jeremiah

ProgressTalk Moderator
Staff member
respectively, i'd also suggest rejoining peg, maybe under a diff alias
personally i never use my real name on internet forums, progresstalk or peg

i think in time you'll realize there's no other option
 

xcelguy

New Member
i am trying that alias thing

I am using a new open source version of Progress (not yet released to gen public).

My dynamics are compiled in gui/src/dynamics....sub directories but in appbuilder tools -- there is no administration, in protools the ade to dynamics cant find the code, i think it is a propath issue.

adecomm.pf and others are there, but no dynamics.pf or .pl

But the big news, I got progress to emulate MDI, window in window, after working all night on it, I have to fix the minimize and maximize and tile, cascade, but I might not need those as long as i can widget walk my open child windows.

Now that I am the first known to accomplish such a feat, I have been working on it on and off since version 8, i wonder should I copyright it and sell it, or give a open source version away? hmmm... i will have to think about that, what would you do if you figured it out and now you had an edge in your application development that you were going to sell.

Hopfully I can get the dynamics working so I can build a tree view of the menu system.....

or if I can find someone that has already created a treeview based off a menu, sub menu, sub menu system, i could incorpate there schema for the menu, and code.

well, I will keep working on it, but it is late now and time for bed,

good night all
 

lord_icon

Member
Re:

Originally Posted by lord_icon MDI is technically NOT possible using Progress / Progress OpenEdge, though you can easily create the illusion.
There is nothing to stop you having a frame on a container src, which you can set the properties to point to something else.


please explain, you mean i can set up one frame to load other .w windows? that are smartwindows, and smart objects? i dont follow?
Smart is the Progress Software (PSC / PRGS), method of creating Standard methodology / functionality.
It all started in V8 GUI with ADM(1) (which I have high skills in) and progressed in V9
to ADM2. In OpenEdge (release 10) ADM2 is still a standard, though with language advancements of the OpenEdge release. Smart, is a methodoolgy of standardising behaviour. It is Object Orientated. Showing how really good / practical the 4GL is in the development world.
 

xcelguy

New Member
sure, i am out of town

not at my home pc with the mdi on it, be back this weekend or earlier.

i will be happy to post the copy of it, it doesn't look sunken into it, but it is actually a partent window adding a child window.
 

joey.jeremiah

ProgressTalk Moderator
Staff member
Theortically you could write an mdi smartobject that renders any smartwindow you run in it as a frame

Expose the frame upper edge ( i.e. hide the rest ) make the frame movable and resizable so it can be dragged around and resized from the upper edge i.e. pseudo title bar. you could also add code and graphical widgets to make it look more like the real thing. e.g. a graphical edge filled-in gray rectangle makes the parent window look sunken like a real mdi. and any other creative features you can stuff in it

So theortically it's possible to write a native progress ( more like Dynamics ) mdi ... with just a little imagination :)
 
Top