Example #1
0
	void dirs_on_filter_changed(GObject* _filter, gpointer _actor)
	{
		DirectoriesView* view = (DirectoriesView*)_actor;

		if(samplecat.model->filters.dir->value[0] == '\0'){
			view->selection = -1;
			agl_actor__invalidate((AGlActor*)_actor);
		}
	}
Example #2
0
	bool scrollable_event(AGlActor* actor, GdkEvent* event, AGliPt xy)
	{
		ScrollableView* view = (ScrollableView*)actor;

		switch(event->type){
			case GDK_BUTTON_PRESS:
				switch(event->button.button){
					case 4:
						scrollable_set_scroll_position(actor, view->scroll_offset - 10);
						agl_actor__invalidate(actor);
						break;
					case 5:
						if(agl_actor__scrollable_height(((AGlActor*)actor->children->data)) > agl_actor__height(actor)){
							scrollable_set_scroll_position(actor, view->scroll_offset + 10);
							agl_actor__invalidate(actor);
						}
						break;
				}
				break;
			default:
				break;
		}
		return AGL_HANDLED;
	}
Example #3
0
	bool list_event(AGlActor* actor, GdkEvent* event, AGliPt xy)
	{
									// TODO why is y not relative to actor.y ?
		switch(event->type){
			case GDK_BUTTON_PRESS:
			case GDK_BUTTON_RELEASE:
				agl_actor__invalidate(actor);
				int row = (xy.y - actor->region.y1) / row_height;
				dbg(0, "y=%i", xy.y - actor->region.y1);
				list_view_select((ListView*)actor, row);
				break;
			default:
				break;
		}
		return AGL_HANDLED;
	}
Example #4
0
	void dirs_set_size(AGlActor* actor)
	{
		DirectoriesView* view = (DirectoriesView*)actor;

		#define N_ROWS_VISIBLE(A) (agl_actor__height(((AGlActor*)A)) / row_height)
		view->cache.n_rows_visible = N_ROWS_VISIBLE(actor);

		if(!view->cache.n_rows){
			GNode* node = g_node_first_child (samplecat.model->dir_tree);
			for(; node; node = g_node_next_sibling(node)){
				view->cache.n_rows++;
			}
			agl_actor__invalidate(actor);
		}

		actor->region.y2 = MIN(actor->region.y2, actor->region.y1 + (view->cache.n_rows + 1) * row_height);
	}
Example #5
0
	void list_on_search_filter_changed(GObject* _filter, gpointer _actor)
	{
		//             update list...
		agl_actor__invalidate((AGlActor*)_actor);
	}