Exemplo n.º 1
0
playlistWindow::playlistWindow
(
    BaseObjectType* cobject,
    const Glib::RefPtr<Gtk::Builder>& refGlade
)
    :
    Gtk::Window(cobject),
    m_refGlade(refGlade)
{
    refGladeButton(); // instantiates the buttons
    refGladeWidget();//  widgets
    connectSignalClicked(); // signal clicked buttons
    initPlaylistStates(); // initalize the playlistWindows states
}
Exemplo n.º 2
0
void playlistWindow::configureTreeview(void) {
	// create the data model
	playlistStore = Gtk::ListStore::create(playlistColumns);
	// set the data model
  playlistTreeview->set_model(playlistStore);
	//Add the TreeView's view columns
  playlistTreeview->append_column("", playlistColumns.playlistidcol);
  playlistTreeview->append_column("Name", playlistColumns.playlistnamecol);
  playlistTreeview->append_column("Length", playlistColumns.playlistlengthcol);
  playlistTreeview->append_column("Format", playlistColumns.playlistformatcol);
  playlistTreeview->append_column("Date of creation", playlistColumns.playlistdateofcreationcol);
  playlistTreeview->append_column("Cell background color", playlistColumns.playlistcellbgcolorcol);

	Gtk::TreeView::Column* pColumn;
	for(guint i = 1; i < 5; i++)
  { 
		pColumn = playlistTreeview->get_column(i);
		Gtk::CellRenderer* cellRenderer = playlistTreeview->get_column_cell_renderer(i);
		pColumn->add_attribute(cellRenderer->property_cell_background(), playlistColumns.playlistcellbgcolorcol);
    pColumn->set_reorderable();
		switch(i) {
			case 1 : pColumn->set_sort_column(playlistColumns.playlistnamecol); break;
			case 2 : pColumn->set_sort_column(playlistColumns.playlistlengthcol); break;
			case 3 : pColumn->set_sort_column(playlistColumns.playlistformatcol); break;
			case 4 : pColumn->set_sort_column(playlistColumns.playlistdateofcreationcol); break;
		}
  }
	pColumn = playlistTreeview->get_column(5);
	pColumn->set_visible(false);
	//All the items to be reordered with drag-and-drop
	// Set the visibility state of the headers. 
	playlistTreeview->set_headers_visible(true);
	// Allow the column title buttons to be clicked
	playlistTreeview->set_headers_clickable(true);
	// Resize all columns to their optimal width. 
	playlistTreeview->columns_autosize();
	// all element are reordorable
	playlistTreeview->set_reorderable();
  playlistTreeview->set_rules_hint();
	// grab the treeview selection
	playlistTreeviewSelection = playlistTreeview->get_selection();
	// connect signal to dectect when tree selection change
	playlistTreeview->signal_button_press_event().connect(sigc::mem_fun(*this,
              &playlistWindow::on_playlist_selection_changed),false);

	initPlaylistStates();		

}