Signed-off-by: Lukas Märdian <[email protected]>
---
 data/keypad.edc | 1269 ++++++-------------------------------------------------
 1 files changed, 139 insertions(+), 1130 deletions(-)

diff --git a/data/keypad.edc b/data/keypad.edc
index 65ba58b..fb50a02 100644
--- a/data/keypad.edc
+++ b/data/keypad.edc
@@ -1,4 +1,6 @@
-group { name: "phoneui/keypad";
+group {
+    name: "phoneui/keypad";
+
        parts {
                part { name: "background";
                        type: RECT;
@@ -11,1143 +13,150 @@ group { name: "phoneui/keypad";
                                rel2 {
                                        relative: 1.0 1.0;
                                }
-                               color: 100 100 100 255;
+                color: 100 100 100 255;
                        }
                }
 
-               /* first row */
-               part { name: "button1";
-                       type: RECT;
-                       mouse_events: 1;
-                       description {
-                               state: "default" 0.0;
-                               color: 255 255 255 255;
-                               rel1 {
-                                       relative: 0 0.01;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 0.32 0.245;
-                                       offset: 0 0;
-                               }
-                       }
-                       description {
-                               state: "clicked" 0.0;
-                               color: 200 200 200 255;
-                               rel1 {
-                                       relative: 0 0.01;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 0.32 0.245;
-                                       offset: 0 0;
-                               }
-                       }
-               }
-               part { name: "button2";
-                       type: RECT;
-                       mouse_events: 1;
-                       description {
-                               state: "default" 0.0;
-                               color: 255 255 255 255;
-                               rel1 {
-                                       relative: 0.33 0.01;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 0.66 0.245;
-                                       offset: 0 0;
-                               }
-                       }
-                       description {
-                               state: "clicked" 0.0;
-                               color: 200 200 200 255;
-                               rel1 {
-                                       relative: 0.33 0.01;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 0.66 0.245;
-                                       offset: 0 0;
-                               }
-                       }
-               }
-               part { name: "button3";
-                       type: RECT;
-                       mouse_events: 1;
-                       description {
-                               state: "default" 0.0;
-                               align: 1.0 0.0;
-                               color: 255 255 255 255;
-                               rel1 {
-                                       relative: 0.67 0.01;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 1.0 0.245;
-                                       offset: 0 0;
-                               }
-                       }
-                       description {
-                               state: "clicked" 0.0;
-                               align: 0.5 0.5;
-                               color: 200 200 200 255;
-                               rel1 {
-                                       relative: 0.67 0.01;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 1.0 0.245;
-                                       offset: 0 0;
-                               }
-                       }
-               }
-               part { name: "text1";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 1 1 1 255;
-                               rel1 {
-                                       relative: 0.0 0.0;
-                                       to: "button1";
-                               }
-                               rel2 {
-                                       relative: 1.0 0.7;
-                                       to: "button1";
-                               }
-                               text {
-                                       text: "1";
-                                       font: "redensek:style=bold:color=000";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
-               part { name: "text2";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 1 1 1 255;
-                               rel1 {
-                                       relative: 0.0 0.0;
-                                       offset: 0 0;
-                                       to: "button2";
-                               }
-                               rel2 {
-                                       relative: 1.0 0.7;
-                                       offset: 0 0;
-                                       to: "button2";
-                               }
-                               text {
-                                       text: "2";
-                                       font: "redensek:style=bold";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
-               part { name: "text2_desc";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 60 60 60 255;
-                               rel1 {
-                                       relative: 0.0 1.0;
-                                       offset: 0 0;
-                                       to: "text2";
-                               }
-                               rel2 {
-                                       relative: 1.0 1.0;
-                                       offset: 0 0;
-                                       to: "button2";
-                               }
-                               text {
-                                       text: "ABC";
-                                       font: "redensek";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
-               part { name: "text3";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 1 1 1 255;
-                               rel1 {
-                                       relative: 0.0 0.0;
-                                       offset: 0 0;
-                                       to: "button3";
-                               }
-                               rel2 {
-                                       relative: 1.0 0.7;
-                                       offset: 0 0;
-                                       to: "button3";
-                               }
-                               text {
-                                       text: "3";
-                                       font: "redensek:style=bold";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
-               part { name: "text3_desc";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 60 60 60 255;
-                               rel1 {
-                                       relative: 0.0 1.0;
-                                       offset: 0 0;
-                                       to: "text3";
-                               }
-                               rel2 {
-                                       relative: 1.0 1.0;
-                                       offset: 0 0;
-                                       to: "button3";
-                               }
-                               text {
-                                       text: "DEF";
-                                       font: "redensek";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
+#define BUTTON(__name, __rel1x, __rel1y, __rel2x, __rel2y, __text_name, 
__text, __desc)\
+part {                                                                         
 \
+    name: __name;                                                              
 \
+    type: RECT;                                                                
 \
+    mouse_events: 1;                                                           
 \
+    description {                                                              
 \
+        state: "default" 0.0;                                                  
 \
+        rel1 {                                                                 
 \
+            relative: __rel1x __rel1y;                                         
 \
+            offset: 0 0;                                                       
 \
+            }                                                                  
 \
+        rel2 {                                                                 
 \
+            relative: __rel2x __rel2y;                                         
 \
+            offset: 0 0;                                                       
 \
+            }                                                                  
 \
+        }                                                                      
 \
+    description {                                                              
 \
+        state: "clicked" 0.0;                                                  
 \
+        color: 200 200 200 255;                                                
 \
+        rel1 {                                                                 
 \
+            relative: __rel1x __rel1y;                                         
 \
+            offset: 0 0;                                                       
 \
+            }                                                                  
 \
+        rel2 {                                                                 
 \
+            relative: __rel2x __rel2y;                                         
 \
+            offset: 0 0;                                                       
 \
+            }                                                                  
 \
+        }                                                                      
 \
+    }                                                                          
 \
+                                                                               
 \
+part {                                                                         
 \
+    name: __text_name;                                                         
 \
+    type: TEXT;                                                                
 \
+    mouse_events: 0;                                                           
 \
+    description {                                                              
 \
+        state: "default" 0.0;                                                  
 \
+        color: 1 1 1 255;                                                      
 \
+        rel1 {                                                                 
 \
+            relative: 0.0 0.0;                                                 
 \
+            offset: 0 0;                                                       
 \
+            to: __name;                                                        
 \
+            }                                                                  
 \
+        rel2 {                                                                 
 \
+            relative: 1.0 0.7;                                                 
 \
+            offset: 0 0;                                                       
 \
+            to: __name;                                                        
 \
+            }                                                                  
 \
+        text {                                                                 
 \
+            text: __text;                                                      
 \
+            font: "redensek:style=bold";                                       
 \
+            fit: 1 1;                                                          
 \
+            size: 40;                                                          
 \
+            align: 0.5 0.5;                                                    
 \
+            }                                                                  
 \
+        }                                                                      
 \
+    }                                                                          
 \
+                                                                               
 \
+part {                                                                         
 \
+    name: __text_name"_desc";                                                  
 \
+    type: TEXT;                                                                
 \
+    mouse_events: 0;                                                           
 \
+    description {                                                              
 \
+        state: "default" 0.0;                                                  
 \
+        color: 60 60 60 255;                                                   
 \
+        rel1 {                                                                 
 \
+            relative: 0.0 1.0;                                                 
 \
+            offset: 0 0;                                                       
 \
+            to: __text_name;                                                   
 \
+            }                                                                  
 \
+        rel2 {                                                                 
 \
+            relative: 1.0 1.0;                                                 
 \
+            offset: 0 0;                                                       
 \
+            to: __name;                                                        
 \
+            }                                                                  
 \
+        text {                                                                 
 \
+            text: __desc;                                                      
 \
+            font: "redensek";                                                  
 \
+            fit: 1 1;                                                          
 \
+            size: 40;                                                          
 \
+            align: 0.5 0.5;                                                    
 \
+            }                                                                  
 \
+        }                                                                      
 \
+    }
 
-               /* second row */
-               part { name: "button4";
-                       type: RECT;
-                       mouse_events: 1;
-                       description {
-                               state: "default" 0.0;
-                               color: 255 255 255 255;
-                               rel1 {
-                                       relative: 0 0.255;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 0.32 0.495;
-                                       offset, 0 0;
-                               }
-                       }
-                       description {
-                               state: "clicked" 0.0;
-                               color: 200 200 200 255;
-                               rel1 {
-                                       relative: 0 0.255;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 0.32 0.495;
-                                       offset: 0 0;
-                               }
-                       }
-               }
-               part { name: "button5";
-                       type: RECT;
-                       mouse_events: 1;
-                       description {
-                               state: "default" 0.0;
-                               color: 255 255 255 255;
-                               rel1 {
-                                       relative: 0.33 0.255;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 0.66 0.495;
-                                       offset: 0 0;
-                               }
-                       }
-                       description { state: "clicked" 0.0;
-                               color: 200 200 200 255;
-                               rel1 {
-                                       relative: 0.33 0.255;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 0.66 0.495;
-                                       offset: 0 0;
-                               }
-                       }
-               }
-               part { name: "button6";
-                       type: RECT;
-                       mouse_events: 1;
-                       description {
-                               state: "default" 0.0;
-                               color: 255 255 255 255;
-                               rel1 {
-                                       relative: 0.67 0.255;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 1.0 0.495;
-                                       offset: 0 0;
-                               }
-                       }
-                       description {
-                               state: "clicked" 0.0;
-                               color: 200 200 200 255;
-                               rel1 {
-                                       relative: 0.67 0.255;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 1.0 0.495;
-                                       offset: 0 0;
-                               }
-                       }
-               }
-               part { name: "text4";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 1 1 1 255;
-                               rel1 {
-                                       relative: 0.0 0.0;
-                                       offset: 0 0;
-                                       to: "button4";
-                               }
-                               rel2 {
-                                       relative: 1.0 0.7;
-                                       offset: 0 0;
-                                       to: "button4";
-                               }
-                               text {
-                                       text: "4";
-                                       font: "redensek:style=bold";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
-               part { name: "text4_desc";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 60 60 60 255;
-                               rel1 {
-                                       relative: 0.0 1.0;
-                                       offset: 0 0;
-                                       to: "text4";
-                               }
-                               rel2 {
-                                       relative: 1.0 1.0;
-                                       offset: 0 0;
-                                       to: "button4";
-                               }
-                               text {
-                                       text: "GHI";
-                                       font: "redensek";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
-               part { name: "text5";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 1 1 1 255;
-                               rel1 {
-                                       relative: 0.0 0.0;
-                                       offset: 0 0;
-                                       to: "button5";
-                               }
-                               rel2 {
-                                       relative: 1.0 0.7;
-                                       offset: 0 0;
-                                       to: "button5";
-                               }
-                               text {
-                                       text: "5";
-                                       font: "redensek:style=bold";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
-               part { name: "text5_desc";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 60 60 60 255;
-                               rel1 {
-                                       relative: 0.0 1.0;
-                                       offset: 0 0;
-                                       to: "text5";
-                               }
-                               rel2 {
-                                       relative: 1.0 1.0;
-                                       offset: 0 0;
-                                       to: "button5";
-                               }
-                               text {
-                                       text: "JKL";
-                                       font: "redensek";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
-               part {
-                       name: "text6";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 1 1 1 255;
-                               rel1 {
-                                       relative: 0.0 0.0;
-                                       offset: 0 0;
-                                       to: "button6";
-                               }
-                               rel2 {
-                                       relative: 1.0 0.7;
-                                       offset: 0 0;
-                                       to: "button6";
-                               }
-                               text {
-                                       text: "6";
-                                       font: "redensek:style=bold";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
-               part {
-                       name: "text6_desc";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 60 60 60 255;
-                               rel1 {
-                                       relative: 0.0 1.0;
-                                       offset: 0 0;
-                                       to: "text6";
-                               }
-                               rel2 {
-                                       relative: 1.0 1.0;
-                                       offset: 0 0;
-                                       to: "button6";
-                               }
-                               text {
-                                       text: "MNO";
-                                       font: "redensek";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
+BUTTON("button1",      0.01,  0.01,  0.325, 0.245, "text1",     "1", "");
+BUTTON("button2",      0.335, 0.01,  0.655, 0.245, "text2",     "2", "ABC");
+BUTTON("button3",      0.665, 0.01,  0.99,  0.245, "text3",     "3", "DEF");
 
-               /* third row */
-               part { name: "button7";
-                       type: RECT;
-                       mouse_events: 1;
-                       description {
-                               state: "default" 0.0;
-                               color: 255 255 255 255;
-                               rel1 {
-                                       relative: 0 0.505;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 0.32 0.745;
-                                       offset: 0 0;
-                               }
-                       }
-                       description {
-                               state: "clicked" 0.0;
-                               color: 200 200 200 255;
-                               rel1 {
-                                       relative: 0 0.505;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 0.32 0.745;
-                                       offset: 0 0;
-                               }
-                       }
-               }
-               part { name: "button8";
-                       type: RECT;
-                       mouse_events: 1;
-                       description {
-                               state: "default" 0.0;
-                               color: 255 255 255 255;
-                               rel1 {
-                                       relative: 0.33 0.505;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 0.66 0.745;
-                                       offset: 0 0;
-                               }
-                       }
-                       description {
-                               state: "clicked" 0.0;
-                               color: 200 200 200 255;
-                               rel1 {
-                                       relative: 0.33 0.505;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 0.66 0.745;
-                                       offset: 0 0;
-                               }
-                       }
-               }
-               part { name: "button9";
-                       type: RECT;
-                       mouse_events: 1;
-                       description {
-                               state: "default" 0.0;
-                               color: 255 255 255 255;
-                               rel1 {
-                                       relative: 0.67 0.505;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 1.0 0.745;
-                                       offset: 0 0;
-                               }
-                       }
-                       description {
-                               state: "clicked" 0.0;
-                               color: 200 200 200 255;
-                               rel1 {
-                                       relative: 0.67 0.505;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 1.0 0.745;
-                                       offset: 0 0;
-                               }
-                       }
-               }
-               part { name: "text7";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 1 1 1 255;
-                               rel1 {
-                                       relative: 0.0 0.0;
-                                       offset: 0 0;
-                                       to: "button7";
-                               }
-                               rel2 {
-                                       relative: 1.0 0.7;
-                                       offset: 0 0;
-                                       to: "button7";
-                               }
-                               text {
-                                       text: "7";
-                                       font: "redensek:style=bold";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
-               part { name: "text7_desc";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 60 60 60 255;
-                               rel1 {
-                                       relative: 0.0 1.0;
-                                       offset: 0 0;
-                                       to: "text7";
-                               }
-                               rel2 {
-                                       relative: 1.0 1.0;
-                                       offset: 0 0;
-                                       to: "button7";
-                               }
-                               text {
-                                       text: "PQRS";
-                                       font: "redensek";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
-               part { name: "text8";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 1 1 1 255;
-                               rel1 {
-                                       relative: 0.0 0.0;
-                                       offset: 0 0;
-                                       to: "button8";
-                               }
-                               rel2 {
-                                       relative: 1.0 0.7;
-                                       offset: 0 0;
-                                       to: "button8";
-                               }
-                               text {
-                                       text: "8";
-                                       font: "redensek:style=bold";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
-               part { name: "text8_desc";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 60 60 60 255;
-                               rel1 {
-                                       relative: 0.0 1.0;
-                                       offset: 0 0;
-                                       to: "text8";
-                               }
-                               rel2 {
-                                       relative: 1.0 1.0;
-                                       offset: 0 0;
-                                       to: "button8";
-                               }
-                               text {
-                                       text: "TUV";
-                                       font: "redensek";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
-               part { name: "text9";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 1 1 1 255;
-                               rel1 {
-                                       relative: 0.0 0.0;
-                                       offset: 0 0;
-                                       to: "button9";
-                               }
-                               rel2 {
-                                       relative: 1.0 0.7;
-                                       offset: 0 0;
-                                       to: "button9";
-                               }
-                               text {
-                                       text: "9";
-                                       font: "redensek:style=bold";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
+BUTTON("button4",      0.01,  0.255, 0.325, 0.495, "text4",     "4", "GHI");
+BUTTON("button5",      0.335, 0.255, 0.655, 0.495, "text5",     "5", "JKL");
+BUTTON("button6",      0.665, 0.255, 0.99,  0.495, "text6",     "6", "MNO");
 
-               part { name: "text9_desc";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 60 60 60 255;
-                               rel1 {
-                                       relative: 0.0 1.0;
-                                       offset: 0 0;
-                                       to: "text9";
-                               }
-                               rel2 {
-                                       relative: 1.0 1.0;
-                                       offset: 0 0;
-                                       to: "button9";
-                               }
-                               text {
-                                       text: "XYZ";
-                                       font: "redensek";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
+BUTTON("button7",      0.01,  0.505, 0.325, 0.745, "text7",     "7", "PQRS");
+BUTTON("button8",      0.335, 0.505, 0.655, 0.745, "text8",     "8", "TUV");
+BUTTON("button9",      0.665, 0.505, 0.99,  0.745, "text9",     "9", "XYZ");
 
-               /* fourth row */
-               part { name: "button_star";
-                       type: RECT;
-                       mouse_events: 1;
-                       description {
-                               state: "default" 0.0;
-                               color: 255 255 255 255;
-                               rel1 {
-                                       relative: 0.0 0.755;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 0.32 1.0;
-                                       offset: 0 0;
-                               }
-                       }
-                       description {
-                               state: "clicked" 0.0;
-                               color: 200 200 200 255;
-                               rel1 {
-                                       relative: 0.0 0.755;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 0.32 1.0;
-                                       offset: 0 0;
-                               }
-                       }
-               }
-               part { name: "button0";
-                       type: RECT;
-                       mouse_events: 1;
-                       description {
-                               state: "default" 0.0;
-                               color: 255 255 255 255;
-                               rel1 {
-                                       relative: 0.33 0.755;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 0.66 1.0;
-                                       offset: 0 0;
-                               }
-                       }
-                       description {
-                               state: "clicked" 0.0;
-                               color: 200 200 200 255;
-                               rel1 {
-                                       relative: 0.33 0.755;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 0.66 1.0;
-                                       offset: 0 0;
-                               }
-                       }
-               }
-               part { name: "button_rhomb";
-                       type: RECT;
-                       mouse_events: 1;
-                       description {
-                               state: "default" 0.0;
-                               color: 255 255 255 255;
-                               rel1 {
-                                       relative: 0.67 0.755;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 1.0 1.0;
-                                       offset: 0 0;
-                               }
-                       }
-                       description {
-                               state: "clicked" 0.0;
-                               color: 200 200 200 255;
-                               rel1 {
-                                       relative: 0.67 0.755;
-                                       offset: 0 0;
-                               }
-                               rel2 {
-                                       relative: 1.0 1.0;
-                                       offset: 0 0;
-                               }
-                       }
-               }
-               part { name: "text_star";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 1 1 1 255;
-                               rel1 {
-                                       relative: 0.0 0.0;
-                                       offset: 0 0;
-                                       to: "button_star";
-                               }
-                               rel2 {
-                                       relative: 1.0 1.0;
-                                       offset: 0 0;
-                                       to: "button_star";
-                               }
-                               text {
-                                       text: "*";
-                                       font: "redensek:style=bold";
-                                       size: 60;
-                                       fit: 1 1;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
-               part { name: "text0";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 1 1 1 255;
-                               rel1 {
-                                       relative: 0.0 0.0;
-                                       offset: 0 0;
-                                       to: "button0";
-                               }
-                               rel2 {
-                                       relative: 1.0 0.7;
-                                       offset: 0 0;
-                                       to: "button0";
-                               }
-                               text {
-                                       text: "0";
-                                       font: "redensek:style=bold";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
-               part { name: "text0_desc";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 60 60 60 255;
-                               rel1 {
-                                       relative: 0.0 1.0;
-                                       offset: 0 0;
-                                       to: "text0";
-                               }
-                               rel2 {
-                                       relative: 1.0 1.0;
-                                       offset: 0 0;
-                                       to: "button0";
-                               }
-                               text {
-                                       text: "+";
-                                       font: "redensek";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
-               part { name: "text_rhomb";
-                       type: TEXT;
-                       mouse_events: 0;
-                       description {
-                               state: "default" 0.0;
-                               color: 1 1 1 255;
-                               rel1 {
-                                       relative: 0.0 0.0;
-                                       offset: 0 0;
-                                       to: "button_rhomb";
-                               }
-                               rel2 {
-                                       relative: 1.0 1.0;
-                                       offset: 0 0;
-                                       to: "button_rhomb";
-                               }
-                               text {
-                                       text: "#";
-                                       font: "redensek:style=bold";
-                                       fit: 1 1;
-                                       size: 40;
-                                       align: 0.5 0.5;
-                               }
-                       }
-               }
-       } /* Close Parts */
+BUTTON("button_star",  0.01,  0.755, 0.325, 0.99,  "text_star",  "*", "");
+BUTTON("button0",      0.335, 0.755, 0.655, 0.99,  "text0",      "0", "+");
+BUTTON("button_rhomb", 0.665, 0.755, 0.99,  0.99,  "text_rhomb", "#", "");
 
-       programs {
-               program {
-                       name: "button1_clicked";
-                       signal: "mouse,up,1";
-                       source: "button1";
-                       action: SIGNAL_EMIT "1" "input";
-               }
-               program {
-                       name: "button2_clicked";
-                       signal: "mouse,up,1";
-                       source: "button2";
-                       action: SIGNAL_EMIT "2" "input";
-               }
-               program {
-                       name: "button3_clicked";
-                       signal: "mouse,up,1";
-                       source: "button3";
-                       action: SIGNAL_EMIT "3" "input";
-               }
-               program {
-                       name: "button4_clicked";
-                       signal: "mouse,up,1";
-                       source: "button4";
-                       action: SIGNAL_EMIT "4" "input";
-               }
-               program {
-                       name: "button5_clicked";
-                       signal: "mouse,up,1";
-                       source: "button5";
-                       action: SIGNAL_EMIT "5" "input";
-               }
-               program {
-                       name: "button6_clicked";
-                       signal: "mouse,up,1";
-                       source: "button6";
-                       action: SIGNAL_EMIT "6" "input";
-               }
-               program {
-                       name: "button7_clicked";
-                       signal: "mouse,up,1";
-                       source: "button7";
-                       action: SIGNAL_EMIT "7" "input";
-               }
-               program {
-                       name: "button8_clicked";
-                       signal: "mouse,up,1";
-                       source: "button8";
-                       action: SIGNAL_EMIT "8" "input";
-               }
-               program {
-                       name: "button9_clicked";
-                       signal: "mouse,up,1";
-                       source: "button9";
-                       action: SIGNAL_EMIT "9" "input";
-               }
-               program {
-                       name: "button_star_clicked";
-                       signal: "mouse,up,1";
-                       source: "button_star";
-                       action: SIGNAL_EMIT "*" "input";
-               }
-               program {
-                       name: "button0_mouse_down";
-                       signal: "mouse,down,1";
-                       source: "button0";
-                       action: SIGNAL_EMIT "0" "mouse_down";
-               }
-               program {
-                       name: "button0_mouse_up";
-                       signal: "mouse,up,1";
-                       source: "button0";
-                       action: SIGNAL_EMIT "0" "mouse_up";
-               }
-               program {
-                       name: "button_rhomb_clicked";
-                       signal: "mouse,up,1";
-                       source: "button_rhomb";
-                       action: SIGNAL_EMIT "#" "input";
-               }
+} /* Close Parts */
 
+programs {
+#define PROGRAM(__button, __nr)                                                
 \
+program {                                                                      
 \
+    name: __button"_clicked";                                                  
 \
+    signal: "mouse,up,1";                                                      
 \
+    source: __button;                                                          
 \
+    action: SIGNAL_EMIT __nr "input";                                          
 \
+    }                                                                          
 \
+program {                                                                      
 \
+    name: __button"_click";                                                    
 \
+    signal: "mouse,down,1";                                                    
 \
+    source: __button;                                                          
 \
+    action: STATE_SET "clicked" 0.0;                                           
 \
+    target: __button;                                                          
 \
+    }                                                                          
 \
+program {                                                                      
 \
+    name: __button"_unclick";                                                  
 \
+    signal: "mouse,up,1";                                                      
 \
+    source: __button;                                                          
 \
+    action: STATE_SET "default" 0.0;                                           
 \
+    target: __button;                                                          
 \
+    }
 
-               program {
-                       name: "button1_click";
-                       signal: "mouse,down,1";
-                       source: "button1";
-                       action: STATE_SET "clicked" 0.0;
-                       target: "button1";
-               }
-               program {
-                       name: "button2_click";
-                       signal: "mouse,down,1";
-                       source: "button2";
-                       action: STATE_SET "clicked" 0.0;
-                       target: "button2";
-               }
-               program {
-                       name: "button3_click";
-                       signal: "mouse,down,1";
-                       source: "button3";
-                       action: STATE_SET "clicked" 0.0;
-                       target: "button3";
-               }
-               program {
-                       name: "button4_click";
-                       signal: "mouse,down,1";
-                       source: "button4";
-                       action: STATE_SET "clicked" 0.0;
-                       target: "button4";
-               }
-               program {
-                       name: "button5_click";
-                       signal: "mouse,down,1";
-                       source: "button5";
-                       action: STATE_SET "clicked" 0.0;
-                       target: "button5";
-               }
-               program {
-                       name: "button6_click";
-                       signal: "mouse,down,1";
-                       source: "button6";
-                       action: STATE_SET "clicked" 0.0;
-                       target: "button6";
-               }
-               program {
-                       name: "button7_click";
-                       signal: "mouse,down,1";
-                       source: "button7";
-                       action: STATE_SET "clicked" 0.0;
-                       target: "button7";
-               }
-               program {
-                       name: "button8_click";
-                       signal: "mouse,down,1";
-                       source: "button8";
-                       action: STATE_SET "clicked" 0.0;
-                       target: "button8";
-               }
-               program {
-                       name: "button9_click";
-                       signal: "mouse,down,1";
-                       source: "button9";
-                       action: STATE_SET "clicked" 0.0;
-                       target: "button9";
-               }
-               program {
-                       name: "button_star_click";
-                       signal: "mouse,down,1";
-                       source: "button_star";
-                       action: STATE_SET "clicked" 0.0;
-                       target: "button_star";
-               }
-               program {
-                       name: "button0_click";
-                       signal: "mouse,down,1";
-                       source: "button0";
-                       action: STATE_SET "clicked" 0.0;
-                       target: "button0";
-               }
-               program {
-                       name: "button_rhomb_click";
-                       signal: "mouse,down,1";
-                       source: "button_rhomb";
-                       action: STATE_SET "clicked" 0.0;
-                       target: "button_rhomb";
-               }
-               program {
-                       name: "button1_unclick";
-                       signal: "mouse,up,1";
-                       source: "button1";
-                       action: STATE_SET "default" 0.0;
-      transition: DECELERATE 0.2;
-                       target: "button1";
-               }
-               program {
-                       name: "button2_unclick";
-                       signal: "mouse,up,1";
-                       source: "button2";
-                       action: STATE_SET "default" 0.0;
-      transition: DECELERATE 0.2;
-                       target: "button2";
-               }
-               program {
-                       name: "button3_unclick";
-                       signal: "mouse,up,1";
-                       source: "button3";
-                       action: STATE_SET "default" 0.0;
-      transition: DECELERATE 0.2;
-                       target: "button3";
-               }
-               program {
-                       name: "button4_unclick";
-                       signal: "mouse,up,1";
-                       source: "button4";
-                       action: STATE_SET "default" 0.0;
-      transition: DECELERATE 0.2;
-                       target: "button4";
-               }
-               program {
-                       name: "button5_unclick";
-                       signal: "mouse,up,1";
-                       source: "button5";
-                       action: STATE_SET "default" 0.0;
-      transition: DECELERATE 0.2;
-                       target: "button5";
-               }
-               program {
-                       name: "button6_unclick";
-                       signal: "mouse,up,1";
-                       source: "button6";
-                       action: STATE_SET "default" 0.0;
-      transition: DECELERATE 0.2;
-                       target: "button6";
-               }
-               program {
-                       name: "button7_unclick";
-                       signal: "mouse,up,1";
-                       source: "button7";
-                       action: STATE_SET "default" 0.0;
-      transition: DECELERATE 0.2;
-                       target: "button7";
-               }
-               program {
-                       name: "button8_unclick";
-                       signal: "mouse,up,1";
-                       source: "button8";
-                       action: STATE_SET "default" 0.0;
-      transition: DECELERATE 0.2;
-                       target: "button8";
-               }
-               program {
-                       name: "button9_unclick";
-                       signal: "mouse,up,1";
-                       source: "button9";
-                       action: STATE_SET "default" 0.0;
-      transition: DECELERATE 0.2;
-                       target: "button9";
-               }
-               program {
-                       name: "button_star_unclick";
-                       signal: "mouse,up,1";
-                       source: "button_star";
-                       action: STATE_SET "default" 0.0;
-      transition: DECELERATE 0.2;
-                       target: "button_star";
-               }
-               program {
-                       name: "button0_unclick";
-                       signal: "mouse,up,1";
-                       source: "button0";
-                       action: STATE_SET "default" 0.0;
-      transition: DECELERATE 0.2;
-                       target: "button0";
-               }
-               program {
-                       name: "button_rhomb_unclick";
-                       signal: "mouse,up,1";
-                       source: "button_rhomb";
-                       action: STATE_SET "default" 0.0;
-      transition: DECELERATE 0.2;
-                       target: "button_rhomb";
-               }
-       } /* Close Prog */
-} /* phoneui/keypad */
+PROGRAM("button1", "1");
+PROGRAM("button2", "2");
+PROGRAM("button3", "3");
+
+PROGRAM("button4", "4");
+PROGRAM("button5", "5");
+PROGRAM("button6", "6");
+
+PROGRAM("button7", "7");
+PROGRAM("button8", "8");
+PROGRAM("button9", "9");
+
+PROGRAM("button_star", "*");
+PROGRAM("button0", "0");
+PROGRAM("button_rhomb", "#");
 
+} /* Close Programs */
+} /* Close Group: phoneui/keypad */
-- 
1.7.0.4

_______________________________________________
Shr-devel mailing list
[email protected]
http://lists.shr-project.org/mailman/listinfo/shr-devel

Reply via email to