Hide empty button pages

Partially solves #946
Partially solves #999
This commit is contained in:
Edward Firmo
2024-02-27 21:35:35 +01:00
parent 77f6dacbc1
commit 6347205d05
15 changed files with 751 additions and 289 deletions

View File

@@ -4,6 +4,7 @@ Program.s
int r=0,g=0,b=0
int h=0,s=0,v=0
int p=0,q=0,t=0,f=0
int is_buttonpage01=1, is_buttonpage02=1, is_buttonpage03=1, is_buttonpage04=1
int back_page_id=0
int dimdelta=0
int api=0 // 0 = disconnected from HA, 1 = connected to HA

View File

@@ -19,8 +19,21 @@ Page buttonpage01
{
vis 255,0
vis button_back,1
vis page_index,1
vis page_label,1
page_index.txt+="●"
if(is_buttonpage02==1)
{
page_index.txt+="â—‹"
}
if(is_buttonpage03==1)
{
page_index.txt+="â—‹"
}
if(is_buttonpage04==1)
{
page_index.txt+="â—‹"
}
vis page_index,1
}
Postinitialize Event
@@ -70,7 +83,7 @@ Text page_index
Dragging : 0
Send Component ID : on press and release
Associated Keyboard: none
Text : ●○○○
Text :
Max. Text Size : 12
Text button01pic
@@ -783,7 +796,19 @@ TouchCap swipe
swipec2=0-swipedx
if(swipec<swipec2)
{
page buttonpage02
if(is_buttonpage02==1)
{
page buttonpage02
}else if(is_buttonpage03==1)
{
page buttonpage03
}else if(is_buttonpage04==1)
{
page buttonpage04
}else
{
page home
}
}
}
// Touch has ended, y
@@ -793,13 +818,50 @@ TouchCap swipe
// From Up to Down
if(swipec>100)
{
//page
if(is_buttonpage04==1)
{
page buttonpage04
}else if(is_buttonpage03==1)
{
page buttonpage03
}else if(is_buttonpage02==1)
{
page buttonpage02
}else
{
page home
}
}
// Down to Up
swipec2=0-swipedy
swipec=0-swipedy
if(swipec<-100)
{
//page
// Assume starting from buttonpage01 and aiming to navigate two pages ahead based on active pages.
if(is_buttonpage02==1) // Check if buttonpage02 is active
{
if(is_buttonpage03==1) // Then check if buttonpage03 is also active
{
page buttonpage03 // Navigate to buttonpage03 if both are active
}else if(is_buttonpage04==1) // If buttonpage03 is not active, but buttonpage04 is
{
page buttonpage04 // Navigate to buttonpage04, skipping buttonpage03
}else
{
page home // Fallback if neither buttonpage03 nor buttonpage04 is active
}
}else if(is_buttonpage03==1) // If buttonpage02 is active
{
if(is_buttonpage04==1) // Check if buttonpage04 is active
{
page buttonpage04 // Navigate to buttonpage04, effectively skipping two pages
}else
{
page home // Fallback to home otherwise
}
}else
{
page home // Fallback to home if none of the conditions are met
}
}
}

View File

@@ -19,8 +19,21 @@ Page buttonpage02
{
vis 255,0
vis button_back,1
vis page_index,1
vis page_label,1
if(is_buttonpage01==1)
{
page_index.txt+="â—‹"
}
page_index.txt+="●"
if(is_buttonpage03==1)
{
page_index.txt+="â—‹"
}
if(is_buttonpage04==1)
{
page_index.txt+="â—‹"
}
vis page_index,1
}
Postinitialize Event
@@ -70,7 +83,7 @@ Text page_index
Dragging : 0
Send Component ID : on press and release
Associated Keyboard: none
Text : ○●○○
Text :
Max. Text Size : 12
Text button01pic
@@ -777,13 +790,28 @@ TouchCap swipe
// From Left to Right
if(swipec>swipedx)
{
page buttonpage01
if(is_buttonpage01==1)
{
page buttonpage01
}else
{
page home
}
}
// Right to Left
swipec2=0-swipedx
if(swipec<swipec2)
{
page buttonpage03
if(is_buttonpage03==1)
{
page buttonpage03
}else if(is_buttonpage04==1)
{
page buttonpage04
}else
{
page home
}
}
}
// Touch has ended, y
@@ -793,13 +821,43 @@ TouchCap swipe
// From Up to Down
if(swipec>100)
{
//page
if(is_buttonpage01==1)
{
page home
}else
{
if(is_buttonpage04==1)
{
page buttonpage04
}else if(is_buttonpage03==1)
{
page buttonpage03
}else
{
page home
}
}
}
// Down to Up
swipec2=0-swipedy
swipec=0-swipedy
if(swipec<-100)
{
//page
if(is_buttonpage03==1&&is_buttonpage04==1)
{
page buttonpage04
}else if(is_buttonpage03==1||is_buttonpage04==1)
{
page home
}else
{
if(is_buttonpage01==1)
{
page buttonpage01
}else
{
page home
}
}
}
}

View File

@@ -19,8 +19,21 @@ Page buttonpage03
{
vis 255,0
vis button_back,1
vis page_index,1
vis page_label,1
if(is_buttonpage01==1)
{
page_index.txt+="â—‹"
}
if(is_buttonpage02==1)
{
page_index.txt+="â—‹"
}
page_index.txt+="●"
if(is_buttonpage04==1)
{
page_index.txt+="â—‹"
}
vis page_index,1
}
Postinitialize Event
@@ -70,7 +83,7 @@ Text page_index
Dragging : 0
Send Component ID : on press and release
Associated Keyboard: none
Text : ○○●○
Text :
Max. Text Size : 12
Text button01pic
@@ -777,13 +790,30 @@ TouchCap swipe
// From Left to Right
if(swipec>swipedx)
{
page buttonpage02
// Navigate back based on active status
if(is_buttonpage02==1)
{
page buttonpage02
}else if(is_buttonpage01==1)
{
page buttonpage01
}else
{
page home
}
}
// Right to Left
swipec2=0-swipedx
if(swipec<swipec2)
{
page buttonpage04
// Navigate forward to buttonpage04 or fallback to home
if(is_buttonpage04==1)
{
page buttonpage04
}else
{
page home
}
}
}
// Touch has ended, y
@@ -793,13 +823,35 @@ TouchCap swipe
// From Up to Down
if(swipec>100)
{
//page
if(is_buttonpage02==1&&is_buttonpage01==1)
{
page buttonpage01
}else if(is_buttonpage02==1||is_buttonpage01==1||is_buttonpage04==0)
{
page home
}else
{
page buttonpage04
}
}
// Down to Up
swipec2=0-swipedy
swipec=0-swipedy
if(swipec<-100)
{
//page
// Navigate back up the sequence based on active status
if(is_buttonpage04==1)
{
page home
}else if(is_buttonpage01==1)
{
page buttonpage01
}else if(is_buttonpage02==1)
{
page buttonpage02
}else
{
page home
}
}
}

View File

@@ -19,8 +19,21 @@ Page buttonpage04
{
vis 255,0
vis button_back,1
vis page_index,1
vis page_label,1
if(is_buttonpage01==1)
{
page_index.txt+="â—‹"
}
if(is_buttonpage02==1)
{
page_index.txt+="â—‹"
}
if(is_buttonpage03==1)
{
page_index.txt+="â—‹"
}
page_index.txt+="●"
vis page_index,1
}
Postinitialize Event
@@ -70,7 +83,7 @@ Text page_index
Dragging : 0
Send Component ID : on press and release
Associated Keyboard: none
Text : ○○○●
Text :
Max. Text Size : 12
Text button01pic
@@ -777,9 +790,22 @@ TouchCap swipe
// From Left to Right
if(swipec>swipedx)
{
page buttonpage03
// Navigate back based on active status
if(is_buttonpage03==1)
{
page buttonpage03
}else if(is_buttonpage02==1)
{
page buttonpage02
}else if(is_buttonpage01==1)
{
page buttonpage01
}else
{
page home
}
}
// Right to Left
// Right to Left swipe now navigates to home, looping back to the start.
swipec2=0-swipedx
if(swipec<swipec2)
{
@@ -793,13 +819,41 @@ TouchCap swipe
// From Up to Down
if(swipec>100)
{
//page
if(is_buttonpage03==1&&is_buttonpage02==1)
{
page buttonpage02
}else if(is_buttonpage03==1||is_buttonpage02==1)
{
if(is_buttonpage01==1)
{
page buttonpage01
}else
{
page home
}
}else
{
page home
}
}
// Down to Up
swipec2=0-swipedy
swipec=0-swipedy
if(swipec<-100)
{
//page
// Navigate back up the sequence based on active status
if(is_buttonpage01==1)
{
page buttonpage01
}else if(is_buttonpage02==1)
{
page buttonpage02
}else if(is_buttonpage03==1)
{
page buttonpage03
}else
{
page home
}
}
}