
Quote from Phil78 on January 3, 2023, 6:31 pmGenerally when tabs are used they contain objects and not only text.
In your sample, I added a container with objects inside, but this requires adding the following commands after neoTabsInsertTab:
- MoveObjectIntoContainer "Container1" "T1Container"
- MoveObject "Container1" 10 100
- ShowObject "Container1" "none" 0
- HideObject "Container1" 10 100 (for tab2 ...)
Then the following commands after neoTabsShowTabAtPosition
- ShowObject "Container1" "none" 0
- HideObject "Container2" "none" 0Can we consider to have an additional 6th parameter to neoTabsInsertTab to indicate the name of the container to link to the tab and avoid having to code the complement ?
Generally when tabs are used they contain objects and not only text.
In your sample, I added a container with objects inside, but this requires adding the following commands after neoTabsInsertTab:
- MoveObjectIntoContainer "Container1" "T1Container"
- MoveObject "Container1" 10 100
- ShowObject "Container1" "none" 0
- HideObject "Container1" 10 100 (for tab2 ...)
Then the following commands after neoTabsShowTabAtPosition
- ShowObject "Container1" "none" 0
- HideObject "Container2" "none" 0
Can we consider to have an additional 6th parameter to neoTabsInsertTab to indicate the name of the container to link to the tab and avoid having to code the complement ?

Quote from Gaev on January 4, 2023, 4:31 pm@phil78
Can we consider to have an additional 6th parameter to neoTabsInsertTab to indicate the name of the container to link to the tab and avoid having to code the complement ?
It is generally never a good idea to add/remove parameters for commands; as it will break the Apps of existing users.
I added a container with objects inside, but this requires adding the following commands after neoTabsInsertTab:
- MoveObjectIntoContainer "Container1" "T1Container"
- MoveObject "Container1" 10 100
- ShowObject "Container1" "none" 0
- HideObject "Container1" 10 100 (for tab2 ...)
Then the following commands after neoTabsShowTabAtPosition
- ShowObject "Container1" "none" 0
- HideObject "Container2" "none" 0I am having difficulty visualizing the exact details of what you are trying to achieve.
Perhaps you can attach/upload a sample App that shows just what you are doing (with a button whose click event has these commands; there might be another way to deliver your requirements.
Can we consider to have an additional 6th parameter to neoTabsInsertTab to indicate the name of the container to link to the tab and avoid having to code the complement ?
It is generally never a good idea to add/remove parameters for commands; as it will break the Apps of existing users.
I added a container with objects inside, but this requires adding the following commands after neoTabsInsertTab:
- MoveObjectIntoContainer "Container1" "T1Container"
- MoveObject "Container1" 10 100
- ShowObject "Container1" "none" 0
- HideObject "Container1" 10 100 (for tab2 ...)
Then the following commands after neoTabsShowTabAtPosition
- ShowObject "Container1" "none" 0
- HideObject "Container2" "none" 0
I am having difficulty visualizing the exact details of what you are trying to achieve.
Perhaps you can attach/upload a sample App that shows just what you are doing (with a button whose click event has these commands; there might be another way to deliver your requirements.

Quote from Phil78 on January 5, 2023, 6:14 pmHi Gaev take a look at your sample modified.
1 create object fruits
2 tab1, tab2, tab3
3 showtab #1, showtab #2
4 showtab #1
Hi Gaev take a look at your sample modified.
1 create object fruits
2 tab1, tab2, tab3
3 showtab #1, showtab #2
4 showtab #1
Uploaded files:Quote from Gaev on January 5, 2023, 11:17 pm@phil78
Thank you for the sample App, and the necessary sequence of clicks.
Apart from the Container name, you also need the positioning (left, top) to be associated with the insertion.
1) If at design time, you assign the left=10, top=100 and visible=false properties to your external containers, then you only need the MoveObjectIntoContainer and ShowObject commands to achieve your objective; this can be achieved by a single new command/function; however, the external Containers are visible at Design time.
2) I also experimented with GetObjectHTML, and using the result as the third parameter of the neoTabsInsertTab command; it works, but the positioning is somewhat incorrect; so I have to do some more investigating.
The ability to insert another object as the content of a Tab is something that will enhance the value of the plugin; so it is worth pursuing (either with a new neoTabs command or an enhanced version of MoveObjectIntoContainer that allows an inner Container to be positioned relative to its parent).
I will get back with one/more recommendations after I have done some more investigating.
Thank you for the sample App, and the necessary sequence of clicks.
Apart from the Container name, you also need the positioning (left, top) to be associated with the insertion.
1) If at design time, you assign the left=10, top=100 and visible=false properties to your external containers, then you only need the MoveObjectIntoContainer and ShowObject commands to achieve your objective; this can be achieved by a single new command/function; however, the external Containers are visible at Design time.
2) I also experimented with GetObjectHTML, and using the result as the third parameter of the neoTabsInsertTab command; it works, but the positioning is somewhat incorrect; so I have to do some more investigating.
The ability to insert another object as the content of a Tab is something that will enhance the value of the plugin; so it is worth pursuing (either with a new neoTabs command or an enhanced version of MoveObjectIntoContainer that allows an inner Container to be positioned relative to its parent).
I will get back with one/more recommendations after I have done some more investigating.
Quote from Gaev on January 6, 2023, 4:54 pm@phil78
I spent some more time examining your attempt to place pre-built (at Design time) containers inside a Tab's content area.
It looks like this can not be done; the neoTabs plugin is built upon the Navs and Tabs component of Bootstrap, so VisualNEOWeb developers can deploy such an object without deep knowledge of the HTML and CSS required to do so.
Within Bootstrap, the content for each Tab is in actuality a list element, and populating the List element via MoveObjectIntoContainer does not appear to work.
Also, I do not see anywhere in the Bootstrap documentation, a single example of Tab content being other than rich text.
What you are doing is moving your pre-built (at Design time) container to the (top-level) neoTabs Container, and then adjusting its position to make it appear as if it is located within the Tab's content area; I am unsure what repercussions this may have on other navigational aspects of the plugin. For this reason, I do not see how I can service your request via a neoTabs plugin command.
However, if you just want to reduce the number of commands needed to do what you are doing, a subroutine like ...
MoveObjectIntoContainerEx "Container1" "mycontainer" "neoTabsContainer" "left:10px;top:100px;visibility:visible"... can be developed (would have the MoveObjectIntoContainer, MoveObject and ShowObject commands within it ... this is similar to the existing native command ...
DuplicateObjectEx "sourceObject" "newObjectName" "destinationObject" "left:10px;top:100px;visibility:visible"It might still be possible to have multiple elements in the Tab's content, but would require sufficient knowledge to include the HTML and CSS within the 5th parameter of the neoTabsInsertTab command. I will continue to explore this option.
I spent some more time examining your attempt to place pre-built (at Design time) containers inside a Tab's content area.
It looks like this can not be done; the neoTabs plugin is built upon the Navs and Tabs component of Bootstrap, so VisualNEOWeb developers can deploy such an object without deep knowledge of the HTML and CSS required to do so.
Within Bootstrap, the content for each Tab is in actuality a list element, and populating the List element via MoveObjectIntoContainer does not appear to work.
Also, I do not see anywhere in the Bootstrap documentation, a single example of Tab content being other than rich text.
What you are doing is moving your pre-built (at Design time) container to the (top-level) neoTabs Container, and then adjusting its position to make it appear as if it is located within the Tab's content area; I am unsure what repercussions this may have on other navigational aspects of the plugin. For this reason, I do not see how I can service your request via a neoTabs plugin command.
However, if you just want to reduce the number of commands needed to do what you are doing, a subroutine like ...
MoveObjectIntoContainerEx "Container1" "mycontainer" "neoTabsContainer" "left:10px;top:100px;visibility:visible"
... can be developed (would have the MoveObjectIntoContainer, MoveObject and ShowObject commands within it ... this is similar to the existing native command ...
DuplicateObjectEx "sourceObject" "newObjectName" "destinationObject" "left:10px;top:100px;visibility:visible"
It might still be possible to have multiple elements in the Tab's content, but would require sufficient knowledge to include the HTML and CSS within the 5th parameter of the neoTabsInsertTab command. I will continue to explore this option.

Quote from Phil78 on January 8, 2023, 8:03 pmHi @Gaev Thanks to have spent a lot of your time for me.
I understand that it is more complex than I imagined, so I will follow your suggestions. The number of instructions being low, I think it is not necessary for you to spend more time on the subject.
Hi @Gaev Thanks to have spent a lot of your time for me.
I understand that it is more complex than I imagined, so I will follow your suggestions. The number of instructions being low, I think it is not necessary for you to spend more time on the subject.