Hide empty entities pages

Partially solves #946
Partially solves #999
This commit is contained in:
Edward Firmo
2024-02-27 22:59:40 +01:00
parent 0eccb542b4
commit fccf3ef6bf
30 changed files with 1483 additions and 337 deletions

View File

@@ -5,6 +5,7 @@ Program.s
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 is_entitypage01=1, is_entitypage02=1, is_entitypage03=1, is_entitypage04=1
int back_page_id=0
int dimdelta=0
int api=0 // 0 = disconnected from HA, 1 = connected to HA

View File

@@ -791,15 +791,15 @@ TouchCap swipe
if(swipec>swipedx)
{
// Navigate back based on active status
if(is_buttonpage03==1)
if(is_entitypage03==1)
{
page buttonpage03
}else if(is_buttonpage02==1)
page entitypage03
}else if(is_entitypage02==1)
{
page buttonpage02
}else if(is_buttonpage01==1)
page entitypage02
}else if(is_entitypage01==1)
{
page buttonpage01
page entitypage01
}else
{
page home
@@ -819,14 +819,14 @@ TouchCap swipe
// From Up to Down
if(swipec>100)
{
if(is_buttonpage03==1&&is_buttonpage02==1)
if(is_entitypage03==1&&is_entitypage02==1)
{
page buttonpage02
}else if(is_buttonpage03==1||is_buttonpage02==1)
page entitypage02
}else if(is_entitypage03==1||is_entitypage02==1)
{
if(is_buttonpage01==1)
if(is_entitypage01==1)
{
page buttonpage01
page entitypage01
}else
{
page home
@@ -841,15 +841,15 @@ TouchCap swipe
if(swipec<-100)
{
// Navigate back up the sequence based on active status
if(is_buttonpage01==1)
if(is_entitypage01==1)
{
page buttonpage01
}else if(is_buttonpage02==1)
page entitypage01
}else if(is_entitypage02==1)
{
page buttonpage02
}else if(is_buttonpage03==1)
page entitypage02
}else if(is_entitypage03==1)
{
page buttonpage03
page entitypage03
}else
{
page home

View File

@@ -17,6 +17,19 @@ Page entitypage01
page home
}
vis unavailable,0
page_index.txt+="●"
if(is_entitypage02==1)
{
page_index.txt+="â—‹"
}
if(is_entitypage03==1)
{
page_index.txt+="â—‹"
}
if(is_entitypage04==1)
{
page_index.txt+="â—‹"
}
Postinitialize Event
sendme
@@ -71,7 +84,7 @@ Text value03_label
Text :
Max. Text Size : 60
Text entity01_label
Text page_label
Attributes
ID : 8
Scope : local
@@ -278,7 +291,7 @@ Text page_index
Dragging : 0
Send Component ID : on press and release
Associated Keyboard: none
Text : ●○○○
Text :
Max. Text Size : 12
Text unavailable
@@ -359,13 +372,25 @@ TouchCap swipe
// From Left to Right
if(swipec>swipedx)
{
page entitypage04
page home
}
// Right to Left
swipec2=0-swipedx
if(swipec<swipec2)
{
page entitypage02
if(is_entitypage02==1)
{
page entitypage02
}else if(is_entitypage03==1)
{
page entitypage03
}else if(is_entitypage04==1)
{
page entitypage04
}else
{
page home
}
}
}
// Touch has ended, y
@@ -375,13 +400,49 @@ TouchCap swipe
// From Up to Down
if(swipec>100)
{
page entitypage03
if(is_entitypage04==1)
{
page entitypage04
}else if(is_entitypage03==1)
{
page entitypage03
}else if(is_entitypage02==1)
{
page entitypage02
}else
{
page home
}
}
// Down to Up
swipec2=0-swipedy
swipec=0-swipedy
if(swipec<-100)
{
page entitypage04
if(is_entitypage02==1) // Check if entitypage02 is active
{
if(is_entitypage03==1) // Then check if entitypage03 is also active
{
page entitypage03 // Navigate to entitypage03 if both are active
}else if(is_entitypage04==1) // If entitypage03 is not active, but entitypage04 is
{
page entitypage04 // Navigate to entitypage04, skipping entitypage03
}else
{
page home // Fallback if neither entitypage03 nor entitypage04 is active
}
}else if(is_entitypage03==1) // If entitypage02 is not active, check entitypage03 directly
{
if(is_entitypage04==1) // Check if entitypage04 is active
{
page entitypage04 // Navigate to entitypage04, 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

@@ -17,6 +17,19 @@ Page entitypage02
page home
}
vis unavailable,0
if(is_entitypage01==1)
{
page_index.txt+="â—‹"
}
page_index.txt+="●"
if(is_entitypage03==1)
{
page_index.txt+="â—‹"
}
if(is_entitypage04==1)
{
page_index.txt+="â—‹"
}
Postinitialize Event
sendme
@@ -71,7 +84,7 @@ Text value03_label
Text :
Max. Text Size : 60
Text entity02_label
Text page_label
Attributes
ID : 8
Scope : local
@@ -278,7 +291,7 @@ Text page_index
Dragging : 0
Send Component ID : on press and release
Associated Keyboard: none
Text : ○●○○
Text :
Max. Text Size : 12
Text unavailable
@@ -359,13 +372,28 @@ TouchCap swipe
// From Left to Right
if(swipec>swipedx)
{
page entitypage01
if(is_entitypage01==1)
{
page entitypage01
}else
{
page home
}
}
// Right to Left
swipec2=0-swipedx
if(swipec<swipec2)
{
page entitypage03
if(is_entitypage03==1)
{
page entitypage03
}else if(is_entitypage04==1)
{
page entitypage04
}else
{
page home
}
}
}
// Touch has ended, y
@@ -375,13 +403,43 @@ TouchCap swipe
// From Up to Down
if(swipec>100)
{
//page
if(is_entitypage01==1)
{
page home
}else
{
if(is_entitypage04==1)
{
page entitypage04
}else if(is_entitypage03==1)
{
page entitypage03
}else
{
page home
}
}
}
// Down to Up
swipec2=0-swipedy
swipec=0-swipedy
if(swipec<-100)
{
//page
if(is_entitypage03==1&&is_entitypage04==1)
{
page entitypage04
}else if(is_entitypage03==1||is_entitypage04==1)
{
page home
}else
{
if(is_entitypage01==1)
{
page entitypage01
}else
{
page home
}
}
}
}

View File

@@ -17,6 +17,19 @@ Page entitypage03
page home
}
vis unavailable,0
if(is_entitypage01==1)
{
page_index.txt+="â—‹"
}
if(is_entitypage02==1)
{
page_index.txt+="â—‹"
}
page_index.txt+="●"
if(is_entitypage04==1)
{
page_index.txt+="â—‹"
}
Postinitialize Event
sendme
@@ -71,7 +84,7 @@ Text value03_label
Text :
Max. Text Size : 60
Text entity03_label
Text page_label
Attributes
ID : 8
Scope : local
@@ -278,7 +291,7 @@ Text page_index
Dragging : 0
Send Component ID : on press and release
Associated Keyboard: none
Text : ○○●○
Text :
Max. Text Size : 12
Text unavailable
@@ -359,13 +372,28 @@ TouchCap swipe
// From Left to Right
if(swipec>swipedx)
{
page entitypage02
if(is_entitypage02==1)
{
page entitypage02
}else if(is_entitypage01==1)
{
page entitypage01
}else
{
page home
}
}
// Right to Left
swipec2=0-swipedx
if(swipec<swipec2)
{
page entitypage04
if(is_entitypage04==1)
{
page entitypage04
}else
{
page home
}
}
}
// Touch has ended, y
@@ -375,13 +403,34 @@ TouchCap swipe
// From Up to Down
if(swipec>100)
{
//page
if(is_entitypage02==1&&is_entitypage01==1)
{
page entitypage01
}else if(is_entitypage02==1||is_entitypage01==1||is_entitypage04==0)
{
page home
}else
{
page entitypage04
}
}
// Down to Up
swipec2=0-swipedy
swipec=0-swipedy
if(swipec<-100)
{
page entitypage01
if(is_entitypage04==1)
{
page home
}else if(is_entitypage01==1)
{
page entitypage01
}else if(is_entitypage02==1)
{
page entitypage02
}else
{
page home
}
}
}

View File

@@ -17,6 +17,19 @@ Page entitypage04
page home
}
vis unavailable,0
if(is_entitypage01==1)
{
page_index.txt+="â—‹"
}
if(is_entitypage02==1)
{
page_index.txt+="â—‹"
}
if(is_entitypage03==1)
{
page_index.txt+="â—‹"
}
page_index.txt+="●"
Postinitialize Event
sendme
@@ -71,7 +84,7 @@ Text value03_label
Text :
Max. Text Size : 60
Text entity04_label
Text page_label
Attributes
ID : 8
Scope : local
@@ -278,7 +291,7 @@ Text page_index
Dragging : 0
Send Component ID : on press and release
Associated Keyboard: none
Text : ○○○●
Text :
Max. Text Size : 12
Text unavailable
@@ -359,13 +372,26 @@ TouchCap swipe
// From Left to Right
if(swipec>swipedx)
{
page entitypage03
// Navigate back based on active status
if(is_entitypage03==1)
{
page entitypage03
}else if(is_entitypage02==1)
{
page entitypage02
}else if(is_entitypage01==1)
{
page entitypage01
}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)
{
page entitypage01
page home
}
}
// Touch has ended, y
@@ -375,13 +401,41 @@ TouchCap swipe
// From Up to Down
if(swipec>100)
{
page entitypage01
if(is_entitypage03==1&&is_entitypage02==1)
{
page entitypage02
}else if(is_entitypage03==1||is_entitypage02==1)
{
if(is_entitypage01==1)
{
page entitypage01
}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_entitypage01==1)
{
page entitypage01
}else if(is_entitypage02==1)
{
page entitypage02
}else if(is_entitypage03==1)
{
page entitypage03
}else
{
page home
}
}
}

View File

@@ -686,15 +686,47 @@ TouchCap swipe
{
swipec=swipex-tch2
// From Left to Right
if(swipec>swipedx&&api==1)
if(swipec>swipedx)
{
page buttonpage04
// Navigate back based on active status
if(is_buttonpage04==1)
{
page buttonpage04
}else if(is_buttonpage03==1)
{
page buttonpage03
}else if(is_buttonpage02==1)
{
page buttonpage02
}else if(is_buttonpage01==1)
{
page buttonpage01
}else
{
// Do nothing
}
}
// Right to Left
// Right to Left swipe now navigates to home, looping back to the start.
swipec2=0-swipedx
if(swipec<swipec2&&api==1)
if(swipec<swipec2)
{
page buttonpage01
// Navigate back 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 if(is_buttonpage04==1)
{
page buttonpage04
}else
{
// Do nothing
}
}
}
// Touch has ended, y
@@ -702,15 +734,58 @@ TouchCap swipe
{
swipec=swipey-tch3
// From Up to Down
if(swipec>100&&api==1)
if(swipec>100)
{
page buttonpage02
if(is_buttonpage04==1&&is_buttonpage03==1)
{
page buttonpage03
}else if(is_buttonpage04==1&&is_buttonpage02==1)
{
page buttonpage02
}else if(is_buttonpage04==1&&is_buttonpage01==1)
{
page buttonpage01
}else if(is_buttonpage03==1&&is_buttonpage02==1)
{
page buttonpage02
}else if(is_buttonpage03==1&&is_buttonpage01==1)
{
page buttonpage01
}else if(is_buttonpage02==1&&is_buttonpage01==1)
{
page buttonpage01
}else
{
// Do nothing
}
}
// Down to Up
swipec2=0-swipedy
if(swipec<-100&&api==1)
swipec=0-swipedy
if(swipec<-100)
{
page buttonpage03
// Navigate back up the sequence based on active status
if(is_buttonpage01==1&&is_buttonpage02==1)
{
page buttonpage02
}else if(is_buttonpage01==1&&is_buttonpage03==1)
{
page buttonpage03
}else if(is_buttonpage01==1&&is_buttonpage04==1)
{
page buttonpage04
}else if(is_buttonpage02==1&&is_buttonpage03==1)
{
page buttonpage03
}else if(is_buttonpage02==1&&is_buttonpage04==1)
{
page buttonpage04
}else if(is_buttonpage03==1&&is_buttonpage04==1)
{
page buttonpage04
}else
{
// Do nothing
}
}
}