Thanks, that did it. I first did the layout with both the tab panel and overlay panels in the same display file so that I could get the positioning and sizing correct. Then I did a "Save As" to create a second display file and deleted the overlay panel from the first display file and the tab panel from the second display file. Then I copied that second display file for each of the other tab panels. That left those attributes in every one of my overlay tab panels. Often what we think is a shortcut turns out to be fraught with other kinds of delays. ;-)Rob wrote:The css panels should not have a parent tab panel or parent tab number. The way you are rendering with overlays, the tab contents are simply rendered on top of the tab panel. They are not a child of the tab panel, just overlaid on top.
These two properties only apply to a tab panel in the same display file as the contents. If you remove these it should get you going.
Overlays Not Showing
-
- Experienced User
- Posts: 165
- Joined: Wed Dec 11, 2013 10:40 am
- First Name: Dave
- Last Name: Clark
- Company Name: WinWholesale, Inc.
- Phone: 937-294-5331
- Address 1: 31101 Kettering Blvd.
- City: Dayton
- State / Province: Outside Canada/USA
- Zip / Postal Code: 45439
- Country: United States
- Contact:
Re: Overlays Not Showing
-
- Profound User
- Posts: 35
- Joined: Fri Jul 12, 2013 12:58 pm
- First Name: Dan
- Last Name: Pankowski
- Company Name: Sinclair Services
- Phone: 8015242956
- Address 1: 550 E South Temple
- City: Salt Lake City
- State / Province: Utah
- Zip / Postal Code: 84102
- Country: United States
- Contact:
Re: Overlays Not Showing
DaveLClarkI wrote:I've reexamined Mr. Russo's example code and he does have his program events in a slightly different order. I also realized I didn't post the actual order I was using. Here is the corrected order:
If I were to use Mr. Russo's order, it would be more like the following -- and I'm sure this would solve the problem of having to press ENTER before the overlay content appears.
- start program1
- callp tabwrite in service program
- open tabmenu
- write tabmenu
- return
- open displayf1
- write overlay1
- callp tabread in service program
- read tabmenu
- press ENTER
- return
- read overlay1
- click [X]
- ...etc...
So, I'm starting on program changes to use the same order of events as the example; but, though I could be wrong, I don't expect that to also solve the issue of the overlay panels not showing up when their content does. Ideas on that?
- start program1
- callp tabwrite in service program
- open tabmenu
- write tabmenu
- return
- open displayf1
- write overlay1
- read overlay1
- click a different tab
- callp tabread in service program
- read tabmenu
- return
- ...etc...
Hi,
We're trying to do kind of the same thing. How does "read overlay1" know that a different tab was clicked? They will be doing things on the overlay1 screen.
Thanks
-
- Experienced User
- Posts: 2711
- Joined: Wed Aug 01, 2012 8:58 am
- First Name: Scott
- Last Name: Klement
- Company Name: Profound Logic
- City: Milwaukee
- State / Province: Wisconsin
Re: Overlays Not Showing
I believe David Russo sent sample code to Dave Clark, so he'd have a working example.... Unfortunately, that code doesn't appear to be in this forum thread, and Mr. Russo is not in the office this week. If you need to figure it out just from this conversation, I think it'll be rather difficult, since this is only part of what was exchanged. But, if you can do it, more power to you!
Anyway, if your only question is how to tell which tab was clicked, there's a property on the tab panel called 'tab response' that can be bound to a variable. It will return the tab number that was clicked to your RPG program.
Anyway, if your only question is how to tell which tab was clicked, there's a property on the tab panel called 'tab response' that can be bound to a variable. It will return the tab number that was clicked to your RPG program.
-
- Profound User
- Posts: 35
- Joined: Fri Jul 12, 2013 12:58 pm
- First Name: Dan
- Last Name: Pankowski
- Company Name: Sinclair Services
- Phone: 8015242956
- Address 1: 550 E South Temple
- City: Salt Lake City
- State / Province: Utah
- Zip / Postal Code: 84102
- Country: United States
- Contact:
Re: Overlays Not Showing
Thanks Scott,
I know how the tab menus work, it appears to me that the tab menu is on "tabmenu" and the program is reading format "overlay1", how does the overlay program know a different tab was clicked?
Does this make sense?
-dan
I know how the tab menus work, it appears to me that the tab menu is on "tabmenu" and the program is reading format "overlay1", how does the overlay program know a different tab was clicked?
Does this make sense?
-dan
-
- Experienced User
- Posts: 165
- Joined: Wed Dec 11, 2013 10:40 am
- First Name: Dave
- Last Name: Clark
- Company Name: WinWholesale, Inc.
- Phone: 937-294-5331
- Address 1: 31101 Kettering Blvd.
- City: Dayton
- State / Province: Outside Canada/USA
- Zip / Postal Code: 45439
- Country: United States
- Contact:
Re: Overlays Not Showing
The overlay program doesn't know a different tab was clicked until the tab menu program tells that overlay program that this is so. I do it in my overlay programs with this piece of code in each one:
This is part of the SELECT group where I am checking to see which workstation AID key (or command/function key) was pressed. When a tab is clicked it is as if the ENTER key was pressed. My service routine passes back the name of the overlay program associated with the current active tab (i.e., the one clicked this time or was previously clicked). All the overlay program has to know is that if the program name changed then it has to exit to the menu driver program.
Just for information purposes, this is my service routine:
Code: Select all
when (wsi.f3_exit); // if F3 key...
pPgmName = '*EXIT'; // exit all the way out
more_input = *off; // signal end of input
...snip...
when (dsp_aid = $enter); // if ENTER key...
PgmSelected = TrgMgt_ReadTabMenu(pKeyData: ErrMesg); // get current tab menu selection
select;
when (PgmSelected = PROC_PGM); // if no change in program selection
callp ProcessTheSubfile(); // check and process selections
when (PgmSelected <> '*ERROR'); // if no error returned
pPgmName = PgmSelected; // store selected program name and exit
other; // else
errors_found = *on; // set program error indicator on
Screen.ERROR_MSG = ErrMesg;
Screen.ERROR_IND = *on;
endsl;
Just for information purposes, this is my service routine:
Code: Select all
*========================================================================*
* This procedure reads the tab menu and returns the appropriate program *
* name for the selected tab read. The caller is responsible for acting *
* on a change in program name if that occurs. *
*========================================================================*
P TrgMgt_ReadTabMenu...
P B export
D PI 10a
D pKeyData likeds(TrgMgt_KeyData)
D pErrMesg 132a varying(2)
*------------------------------------------------------------------------*
D MissingData S 3p 0 inz(*zero)
D TabSelected S 3p 0
/free
read ACTMENUC; // read the tab menu
TabSelected = TABNUM + 1;
select;
when GenUtl_InList(%char(TabSelected): '2,3,4')
and pKeyData.Application <= *blanks;
MissingData = 1; // selection missing from tab 1
when GenUtl_InList(%char(TabSelected): '3,4')
and pKeyData.Feature <= *blanks;
MissingData = 2; // selection missing from tab 2
when TabSelected = 4
and pKeyData.Process <= *blanks;
MissingData = 3; // selection missing from tab 3
when TabSelected = 7
and pKeyData.Company <= *blanks;
MissingData = 6; // selection missing from tab 6
other;
return TabMenu.Entry(TabSelected).Program; // return selected program to caller
endsl;
callp TrgMgt_WriteTabMenu(TabMenu.Entry(CurrentTab).Program); // restore tab
pErrMesg = 'Navigation to the "'
+ %trimr(TabMenu.Entry(TabSelected).Label) + '" tab'
+ ' cancelled due to missing selection from the "'
+ %trimr(TabMenu.Entry(MissingData).Label) + '" tab.';
return '*ERROR'; // return error condition to caller
/end-free
*------------------------------------------------------------------------*
P TrgMgt_ReadTabMenu...
P E
*========================================================================*
-
- Profound User
- Posts: 35
- Joined: Fri Jul 12, 2013 12:58 pm
- First Name: Dan
- Last Name: Pankowski
- Company Name: Sinclair Services
- Phone: 8015242956
- Address 1: 550 E South Temple
- City: Salt Lake City
- State / Province: Utah
- Zip / Postal Code: 84102
- Country: United States
- Contact:
Re: Overlays Not Showing
Thanks do you use js on the tab service program to "press enter"? I've used js before to press a button on a program in an iFrame.When a tab is clicked it is as if the ENTER key was pressed
Thanks for your help.
-
- Experienced User
- Posts: 165
- Joined: Wed Dec 11, 2013 10:40 am
- First Name: Dave
- Last Name: Clark
- Company Name: WinWholesale, Inc.
- Phone: 937-294-5331
- Address 1: 31101 Kettering Blvd.
- City: Dayton
- State / Province: Outside Canada/USA
- Zip / Postal Code: 45439
- Country: United States
- Contact:
Re: Overlays Not Showing
Not required. Profound UI handles this.
-
- Profound User
- Posts: 35
- Joined: Fri Jul 12, 2013 12:58 pm
- First Name: Dan
- Last Name: Pankowski
- Company Name: Sinclair Services
- Phone: 8015242956
- Address 1: 550 E South Temple
- City: Salt Lake City
- State / Province: Utah
- Zip / Postal Code: 84102
- Country: United States
- Contact:
Re: Overlays Not Showing
Thanks for your help. We'll give it a try.
-dan
-dan
Who is online
Users browsing this forum: No registered users and 4 guests