public Clutter.ScrollMode scroll_mode;
public Gdk.Pixbuf missing_thumb_pixbuf;
public signal void open (JsRender.JsRender file);
+ public Project.Project project;
public Gee.ArrayList<Object> fileitems;
// ctor
public void loadProject (Project.Project pr) {
// list all the files, and create new Xcls_fileitem for each one.
+ this.project = pr;
+
+
// LEAK --- we should unref all the chilren...
this.filelayout.el.y = 0;
this.clearFiles();
for(var i =0 ; i < items.size; i++) {
print ("cheking folder %s\n", items.get(i));
- var files = gpr.files(items.get(i));
+ var files = gpr.filesForOpen(items.get(i));
if (files.size < 1) {
continue;
}
print("recv width %f, filelayoutw = %f", w, w-200);
- // floor ( w/120) * 120...
+ w = GLib.Math.floorf ( w/120.0f) * 120.0f;
+
+
+
//_this.filelayout_manager.el.max_column_width = w - 200;
- _this.filelayout.el.width = w - 200;
+ _this.filelayout.el.width = w ;
this.el.set_size(
// this.el.get_stage().width-150,
);
// 100 right for buttons ..
- this.el.set_position(0,0);
+ this.el.set_position(75,0);
this.scroller.el.set_size(
// this.el.get_stage().width-150,
- w-50,
+ w,
h // this.el.get_stage().height
);
// 100 right for buttons ..
- this.scroller.el.set_position(75,50);
+ this.scroller.el.set_position(0,50);
// scroll...
_this.filelayout.el.y = 0.0f;
this.el.add_constraint(
new Clutter.BindConstraint(_this.el,Clutter.BindCoordinate.SIZE, 0.0f)
);
- this.el.set_position(75,0);
+ this.el.set_position(0,0);
}
// user defined functions
//listeners
this.el.scroll_event.connect( ( event) => {
- //Sprint("scroll event");
+ print("scroll event\n");
var y = _this.filelayout.el.y;
var dir = event.direction;
y = float.max(bottompos, y);
+ break;
+ case Clutter.ScrollDirection.SMOOTH:
+ double delta_x, delta_y;
+ event.get_scroll_delta(out delta_x, out delta_y);
+ //print("Scroll SMOOTH? by %f\n", delta_y * event.y);
+ y += ((float)delta_y * event.y * -1.0f) /2 ;
+ y = float.max(bottompos, y);
+ y = float.min(0, y); //
+
break;
default:
+ print("scroll event = bad direction %s\n", dir.to_string());
return false;
}
// range of scroll -- can go up -- eg.. -ve value.
- // to work out the max -ve number
- // height of filelayout
- // height of scrollactor..
-
- /*
- if ( (-1 * (y+200)) > ( last_child_bottom - this.el.height)) {
- var nv = _this.filelayout.el.y ;
- if (nv != -1 * ( last_child_bottom - this.el.height)) {
-
- _this.filelayout.el.y = -1 * ( last_child_bottom - this.el.height);
- return true;
- }
-
- return false;
- }
-
- */
-
-
- // print("\nlast child - this height = %f ==== new y %f\n ".printf(
- // last_child_bottom - this.el.height,
- // y));
- // y = float.min(0, y); //??
- // print("scroll event of %f - new y = %f ".printf(event.y, y));
print("Set scroll to %f (lcb=%f / height = %f)\n", y, last_child_bottom, this.el.height);
_this.filelayout.el.y = y;
});
this.el.enter_event.connect( ( event) => {
this.el.background_color = Clutter.Color.from_string("#333");
+ this.title.el.background_color = Clutter.Color.from_string("#fff");
+ this.typetitle.el.background_color = Clutter.Color.from_string("#fff");
+ this.title.el.color = Clutter.Color.from_string("#000");
+ this.typetitle.el.color = Clutter.Color.from_string("#000");
+
return false;
});
this.el.leave_event.connect( ( event) => {
this.el.background_color = Clutter.Color.from_string("#000");
+ this.title.el.background_color = Clutter.Color.from_string("#000");
+ this.typetitle.el.background_color = Clutter.Color.from_string("#000");
+ this.title.el.color = Clutter.Color.from_string("#fff");
+ this.typetitle.el.color = Clutter.Color.from_string("#fff");
+
+
return false;
});
}
this.el.x_expand = true;
this.el.y_align = Clutter.ActorAlign.START;
this.el.reactive = true;
- this.el.y_expand = false;
+ this.el.y_expand = true;
// init method
{
- this.filepath = filepath;
+ this.filepath = filepath;
}
//listeners
this.el.button_press_event.connect( ( event) => {
- // _this.open(this.filepath);
+
+ var f = JsRender.JsRender.factory("PlainFile", _this.project, this.filepath);
+ _this.open(f);
return false;
});
this.el.enter_event.connect( ( event) => {
- this.el.background_color = Clutter.Color.from_string("#333");
+ this.el.background_color = Clutter.Color.from_string("#fff");
+ this.el.color = Clutter.Color.from_string("#000");
return false;
});
this.el.leave_event.connect( ( event) => {
this.el.background_color = Clutter.Color.from_string("#000");
+ this.el.color = Clutter.Color.from_string("#fff");
return false;
});
}