/* vim: set sw=3 ts=3 sts=3 expandtab: */
group {
   name: "ecdb/window";
   min: 640 390;

   parts {
      part {
         name: "background";
         mouse_events: 0;

         description {
            state: "default" 0.0;
            min: 640 390;
            max: 999999 999999;

            rel1 {
               relative: 0.0 0.0;
               offset: 0 0;
            }

            rel2 {
               relative: 1.0 1.0;
               offset: -1 -1;
            }

            image {
               normal: "background.png";
            }
         }
      }

      part {
         name: "paned_container";
         type: RECT;

         description {
            state: "default" 0.0;
            visible: 0;
            align: 0.0 0.0;
            max: 99999 99999;
            min: 99999 0;

            rel1 {
               relative: 0.0 0.0;
               offset: 0 0;
            }

            rel2 {
               relative: 0.0 0.0;
               offset: 0 0;
            }
         }

         description {
            state: "visible" 0.0;
            inherit: "default" 0.0;
            
            rel1 {
               relative: 0.0 0.0;
               offset: 0 145;
            }

            rel2 {
               relative: 1.0 1.0;
               offset: 0 -230;
            }
         }
      }

      part {
         name: "paned_draggie";
         type: RECT;

         dragable {
            confine: "paned_container";
            x: 0 0 0;
            y: -1 1 0;
         }

         description {
            state: "default" 0.0;
            min: 99999 9;
            color: 0 0 0 20;

            rel1 {
               relative: 0.0 0.0;
            }

            rel2 {
               relative: 1.0 0.0;
            }
         }

         description {
            state: "active" 0.0;
            inherit: "default" 0.0;
            color: 0 0 0 80;
         }
      }

      part {
         name: "paned_image";
         repeat_events: 1;
         type: IMAGE;

         description {
            state: "default" 0.0;
            min: 42 5;
            max: 42 5;
            color: 255 255 255 255;

            rel1 {
               to_y: "paned_draggie";
               relative: 0.0 0.0;
               offset: 2 2;
            }

            rel2 {
               to_y: "paned_draggie";
               relative: 1.0 1.0;
               offset: -3 -3;
            }

            image {
               normal: "paned_v_handle.png";
            }
         }
      }

      part {
         name: "filelist_clip";
         type: RECT;

         description {
            state: "default" 0.0;
            visible: 0;

            rel1 {
               offset: 5 5;
            }

            rel2 {
               to_y: "paned_draggie";
               offset: -6 -12;
            }
         }

         description {
            state: "visible" 0.0;
            inherit: "default" 0.0;
            visible: 1;
         }
      }

      part {
         name: "filelist_container";
         type: IMAGE;
         clip_to: "filelist_clip";

         description {
            state: "default" 0.0;
            color: 255 255 255 0;

            rel1 {
               offset: 5 5;
            }

            rel2 {
               to_y: "paned_draggie";
               offset: -6 -12;
            }

            image {
               normal: "focus.png";
               border: 7 7 7 7;
            }
         }

         description {
            state: "focused" 0.0;
            inherit: "default" 0.0;
            color: 255 255 255 155;
         }
      }

      part {
         name: "filelist";
         type: SWALLOW;
         clip_to: "filelist_clip";

         description {
            state: "default" 0.0;

            rel1 {
               to: "filelist_container";
               offset: 3 3;
            }

            rel2 {
               to: "filelist_container";
               offset: -4 -4;
            }
         }
      }
      
      part {
         name: "filelist_overlay";
         type: IMAGE;
         clip_to: "filelist_clip";
         mouse_events: 1;
         repeat_events: 1;

         description {
            state: "default" 0.0;
            color: 255 255 255 0;

            rel1 {
               to: "filelist";
            }

            rel2 {
               to: "filelist";
            }

            image {
               normal: "text_overlay.png";
               border: 7 7 7 7;
            }
         }

         description {
            state: "active" 0.0;
            inherit: "default" 0.0;
            color: 255 255 255 100;
         }
      }

      part {
         name: "filelist_overlay_text";
         type: TEXT;
         effect: NONE;
         clip_to: "filelist_clip";
         mouse_events: 1;
         repeat_events: 1;

         description {
            state: "default" 0.0;
            align: 0.5 0.5;
            color: 255 255 255 0;

            rel1 {
               to: "filelist_overlay";
               relative: 0.0 0.0;
            }

            rel2 {
               to: "filelist_overlay";
               relative: 1.0 1.0;
            }

            text {
               text: "";
               font: "ecdb/default";
               size: 24;
               align: 0.5 0.5;
            }
         }

         description {
            state: "active" 0.0;
            inherit: "default" 0.0;
            color: 255 255 255 255;
         }
      }

      part {
         name: "action_area";
         type: SWALLOW;
         mouse_events: 1;
         repeat_events: 1;

         description {
            state: "default" 0.0;
            min: 640 170;

            rel1 {
               to: "paned_draggie";
               offset: 0 12;
            }

            rel2 {
               relative: 1.0 1.0;
               offset: -1 -1;
            }
         }
      }
   }

   programs {
      program {
         name: "filelist,visible";
         signal: "ecdb,filelist,visible";
         source: "ecdb";
         after: "filelist,visible_swallow";
         action: STATE_SET "visible" 0.0;
         target: "paned_container";
         transition: DECELERATE 0.5;
      }

      program {
         name: "filelist,visible_swallow";
         action: STATE_SET "visible" 0.0;
         target: "filelist_clip";
      }

      program {
         name: "filelist,hide";
         signal: "ecdb,filelist,hide";
         source: "ecdb";
         action: STATE_SET "default" 0.0;
         target: "paned_container";
         transition: DECELERATE 0.5;
      }

      program {
         name: "filelist,hide_swallow";
         after: "filelist,hide";
         action: STATE_SET "default" 0.0;
         target: "filelist_clip";
      }

      program {
         name: "filelist,focus,in";
         signal: "mouse,in";
         source: "filelist_overlay";
         action: STATE_SET "focused" 0.0;
         target: "filelist_container";
         transition: LINEAR 0.2;
      }
      
      program {
         name: "filelist,focus,out";
         signal: "mouse,out";
         source: "filelist_overlay";
         action: STATE_SET "default" 0.0;
         target: "filelist_container";
         transition: LINEAR 0.2;
      }

      program {
         name: "filelist_overlay,activate";
         action: STATE_SET "active" 0.0;
         signal: "ecdb,filelist_overlay,activate";
         source: "ecdb";
         target: "filelist_overlay";
         target: "filelist_overlay_text";
         transition: DECELERATE 0.5;
      }

      program {
         name: "filelist_overlay,deactivate";
         action: STATE_SET "default" 0.0;
         signal: "ecdb,filelist_overlay,deactivate";
         source: "ecdb";
         target: "filelist_overlay";
         target: "filelist_overlay_text";
         transition: DECELERATE 0.5;
      }

      program {
         name: "draggie_activate";
         signal: "mouse,down,1";
         action: STATE_SET "active" 0.0;
         source: "paned_draggie";
         target: "paned_draggie";
         transition: DECELERATE 0.5;
      }

      program {
         name: "draggie_deactivate";
         signal: "mouse,clicked,1";
         signal: "mouse,up,1";
         action: STATE_SET "default" 0.0;
         source: "paned_draggie";
         target: "paned_draggie";
         transition: DECELERATE 0.5;
      }
   }
}
