Libraries & objects
About Archicad and BIMcloud libraries, their management and migration, objects and other library parts, etc.

Setting a default UI page

jakubc7
Advocate
Is there a way to set a default UI_PAGE that opens when user goes into object properties. I am using the "Hierarchical pages" UI option.

I want to have my sheets set up in the following order:
PAGE 1 - I don't want this page to be what user sees when they open properties
PAGE 2 - Default page / Main Menu
PAGE 3 - All parameters page created by AC

I tried playing around with the parent_id but I get errors unless I make all pages "-1" ... little confused about this parameter to be honest?
Any advice would be appreciated. Thanks.
ArchiCAD 10 - 25 | Windows 10
ARCHIcreate | Perth, Western Australia
archicad solutions | content creation | training | software implementation
8 REPLIES 8
Barry Kelly
Moderator
I have found that you just have to set it to the page you want when you save the object.
It will open to this page by default when placing a new object, but if the user goes to another page then that will be the default now for that instance.
i.e. it will stay on the last page it was set to.

Also you can list the pages in the order you want them to appear just by moving the numbers around.
The 'Root' page is -1.
Again set the default page when you save it that you want it to open to as a new object.

Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
jakubc7
Advocate
Thanks Barry. I'm wrapping up for the day but I'll give it a shot tomorrow.
ArchiCAD 10 - 25 | Windows 10
ARCHIcreate | Perth, Western Australia
archicad solutions | content creation | training | software implementation
jakubc7
Advocate
Not sure if I am doing something wrong but your suggestion does not work for me Barry. I set the UI page to the one I want in the PREVIEW and than save the object. However it still defaults to PAGE 1 when I select the object from the library. I am using V21 and Hierarchical pages option if that matters?

Not a big deal if it can't be done. I want to have an "About me" page. It makes sense that it is at the either front or end of the UI interface. End is taken up by the ALL PARAMETERS by default which leaves the front page ... but as an AC user I hate seeing a creator's cover page as a default each time I open the object ....

Would like to hear if I am doing something wrong or if there are any other suggestions?
ArchiCAD 10 - 25 | Windows 10
ARCHIcreate | Perth, Western Australia
archicad solutions | content creation | training | software implementation
Barry Kelly
Moderator
Here is the interface script from one of my note objects.
It has 9 pages.
I have taken out all of the actual interface script that the user will see.


UI_CURRENT_PAGE gs_ui_current_page

UI_DIALOG `NOTES`

! ==============================================================================
! NOTES
! ==============================================================================

iPageIDRoot 			=-1
iPageIDPage1_heading		= 1
iPageIDPage2_notes_1_3		= 2
iPageIDPage3_notes_4_6		= 3
iPageIDPage4_notes_7_9		= 4
iPageIDPage5_notes_10_12		= 5
iPageIDPage6_notes_13_15		= 6
iPageIDPage7_notes_16_18		= 7
iPageIDPage8_notes_19_21		= 8
iPageIDPage9_notes_22_24		= 9


! ==============================================================================
!UI_PAGES
! ==============================================================================

	UI_PAGE iPageIDPage1_heading, iPageIDRoot, `Title and display settings`, "uiFunctionText_flat(1)"		!!!!icon images for buttons
		gosub "Page1_heading"

	UI_PAGE iPageIDPage2_notes_1_3, iPageIDRoot, `Notes 1-3`, "uiTab_Descriptions_flat(1)"
		gosub "Page2_notes_1_3"

	UI_PAGE iPageIDPage3_notes_4_6, iPageIDRoot, `Notes 4-6`, "uiTab_Descriptions_flat(1)"
		gosub "Page3_notes_4_6"

	UI_PAGE iPageIDPage4_notes_7_9, iPageIDRoot, `Notes 7-9`, "uiTab_Descriptions_flat(1)"
		gosub "Page4_notes_7_9"

	UI_PAGE iPageIDPage5_notes_10_12, iPageIDRoot, `Notes 10-12`, "uiTab_Descriptions_flat(1)"
		gosub "Page5_notes_10_12"

	UI_PAGE iPageIDPage6_notes_13_15, iPageIDRoot, `Notes 13-15`, "uiTab_Descriptions_flat(1)"
		gosub "Page6_notes_13_15"

	UI_PAGE iPageIDPage7_notes_16_18, iPageIDRoot, `Notes 16-18`, "uiTab_Descriptions_flat(1)"
		gosub "Page7_notes_16_18"

	UI_PAGE iPageIDPage8_notes_19_21, iPageIDRoot, `Notes 19-21`, "uiTab_Descriptions_flat(1)"
		gosub "Page8_notes_19_21"

	UI_PAGE iPageIDPage9_notes_22_24, iPageIDRoot, `Notes 22-24`, "uiTab_Descriptions_flat(1)"
		gosub "Page9_notes_22_24"



! ==============================================================================
END
! ==============================================================================


! ==============================================================================
!SUBROUTINES
! ==============================================================================



!!!!***************************************************************************************************

!!UI_DIALOG "NOTES"

"Page1_heading":

UI_STYLE 2,0
!!interface script here

RETURN
!!!!***************************************************************************************************


"Page2_notes_1_3":

UI_STYLE 2,0
!!interface script here

RETURN
!!!!***************************************************************************************************


"Page3_notes_4_6":

UI_STYLE 2,0
!!interface script here

RETURN
!!!!***************************************************************************************************


"Page4_notes_7_9":

UI_STYLE 2,0
!!interface script here

RETURN
!!!!***************************************************************************************************


"Page5_notes_10_12":

UI_STYLE 2,0
!!interface script here

RETURN
!!!!***************************************************************************************************


"Page6_notes_13_15":

UI_STYLE 2,0
!!interface script here

RETURN
!!!!***************************************************************************************************


"Page7_notes_16_18":

UI_STYLE 2,0
!!interface script here

RETURN
!!!!***************************************************************************************************


"Page8_notes_19_21":

UI_STYLE 2,0
!!interface script here

RETURN
!!!!***************************************************************************************************


"Page9_notes_22_24":

UI_STYLE 2,0
!!interface script here

RETURN

Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
jakubc7
Advocate
Thanks Barry. Good to see the code as it confirms that I was doing things correctly ... although I do like how yours is organised into neat SUBS:

I still don't see how this helps me make a central page (eg. iPageIDPage4_notes_7_9) my DEFAULT when the object is opened ... short of relocation / making that page FIRST which I wanted to avoid. Maybe I'm just being too picky 😕

Thanks for your time Barry.
ArchiCAD 10 - 25 | Windows 10
ARCHIcreate | Perth, Western Australia
archicad solutions | content creation | training | software implementation
jakubc7
Advocate
PS. Interesting thing ... setting the page ID @ UI_CURRENT_PAGE does the job ... but disables all the controls and I am not able to navigate anywhere else ...
ArchiCAD 10 - 25 | Windows 10
ARCHIcreate | Perth, Western Australia
archicad solutions | content creation | training | software implementation
Barry Kelly
Moderator
Do you have an actual parameter for the current page?


This is what will make the page set when saved become the default.

Barry.
One of the forum moderators.
Versions 6.5 to 27
i7-10700 @ 2.9Ghz, 32GB ram, GeForce RTX 2060 (6GB), Windows 10
Lenovo Thinkpad - i7-1270P 2.20 GHz, 32GB RAM, Nvidia T550, Windows 11
jakubc7
Advocate
No I did not have the parameter "created". This did the trick. Thanks for helping out once again!
ArchiCAD 10 - 25 | Windows 10
ARCHIcreate | Perth, Western Australia
archicad solutions | content creation | training | software implementation