dnd testing
This commit is contained in:
parent
d22865b38b
commit
a8c1eb0c3c
2 changed files with 170 additions and 198 deletions
|
@ -90,25 +90,27 @@ TestWindow :: TestWindow (void) throw ()
|
||||||
comboBox->signal_changed().connect(sigc::mem_fun(*this,
|
comboBox->signal_changed().connect(sigc::mem_fun(*this,
|
||||||
&TestWindow::onComboBoxSelectionChanged));
|
&TestWindow::onComboBoxSelectionChanged));
|
||||||
|
|
||||||
leftTreeModel = Gtk::ListStore::create(modelColumns);
|
treeModel[0] = Gtk::ListStore::create(modelColumns);
|
||||||
glade->get_widget_derived("treeview1", leftTreeView);
|
glade->get_widget_derived("treeview1", treeView[0]);
|
||||||
leftTreeView->set_model(leftTreeModel);
|
treeView[0]->set_model(treeModel[0]);
|
||||||
leftTreeView->connectModelSignals(leftTreeModel);
|
treeView[0]->connectModelSignals(treeModel[0]);
|
||||||
leftTreeView->appendColumn(*getResourceUstring("pixbufColumnTitle"),
|
treeView[0]->get_selection()->set_mode(Gtk::SELECTION_MULTIPLE);
|
||||||
|
treeView[0]->appendColumn(*getResourceUstring("pixbufColumnTitle"),
|
||||||
modelColumns.pixbufColumn);
|
modelColumns.pixbufColumn);
|
||||||
leftTreeView->appendColumn(*getResourceUstring("textColumnTitle"),
|
treeView[0]->appendColumn(*getResourceUstring("textColumnTitle"),
|
||||||
modelColumns.textColumn);
|
modelColumns.textColumn);
|
||||||
fillLeftTreeModel();
|
fillTreeModel(0);
|
||||||
|
|
||||||
rightTreeModel = Gtk::ListStore::create(modelColumns);
|
treeModel[1] = Gtk::ListStore::create(modelColumns);
|
||||||
glade->get_widget_derived("treeview2", rightTreeView);
|
glade->get_widget_derived("treeview2", treeView[1]);
|
||||||
rightTreeView->set_model(rightTreeModel);
|
treeView[1]->set_model(treeModel[1]);
|
||||||
rightTreeView->connectModelSignals(rightTreeModel);
|
treeView[1]->connectModelSignals(treeModel[1]);
|
||||||
rightTreeView->appendColumn(*getResourceUstring("pixbufColumnTitle"),
|
treeView[1]->get_selection()->set_mode(Gtk::SELECTION_MULTIPLE);
|
||||||
|
treeView[1]->appendColumn(*getResourceUstring("pixbufColumnTitle"),
|
||||||
modelColumns.pixbufColumn);
|
modelColumns.pixbufColumn);
|
||||||
rightTreeView->appendColumn(*getResourceUstring("textColumnTitle"),
|
treeView[1]->appendColumn(*getResourceUstring("textColumnTitle"),
|
||||||
modelColumns.textColumn);
|
modelColumns.textColumn);
|
||||||
fillRightTreeModel();
|
fillTreeModel(1);
|
||||||
|
|
||||||
glade->get_widget("label1", label);
|
glade->get_widget("label1", label);
|
||||||
label->set_label(*getResourceUstring("dropHereText"));
|
label->set_label(*getResourceUstring("dropHereText"));
|
||||||
|
@ -154,12 +156,18 @@ TestWindow :: configureBundle (void) throw ()
|
||||||
* Fill the left tree model.
|
* Fill the left tree model.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
void
|
void
|
||||||
TestWindow :: fillLeftTreeModel (void) throw ()
|
TestWindow :: fillTreeModel (int index) throw ()
|
||||||
{
|
{
|
||||||
Ptr<WidgetFactory>::Ref wf = WidgetFactory::getInstance();
|
Ptr<WidgetFactory>::Ref wf = WidgetFactory::getInstance();
|
||||||
Glib::RefPtr<Gdk::Pixbuf> pixbuf = wf->getPixbuf(
|
Glib::RefPtr<Gdk::Pixbuf> pixbuf = wf->getPixbuf(
|
||||||
WidgetConstants::audioClipIconImage);
|
WidgetConstants::audioClipIconImage);
|
||||||
|
Gtk::TreeModel::Row row;
|
||||||
|
|
||||||
|
treeModel[index]->clear();
|
||||||
|
|
||||||
|
if (index == 0) {
|
||||||
Glib::ustring text;
|
Glib::ustring text;
|
||||||
|
|
||||||
switch (comboBox->get_active_row_number()) {
|
switch (comboBox->get_active_row_number()) {
|
||||||
case -1: break;
|
case -1: break;
|
||||||
|
|
||||||
|
@ -175,55 +183,30 @@ TestWindow :: fillLeftTreeModel (void) throw ()
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
leftTreeModel->clear();
|
row = *treeModel[index]->append();
|
||||||
Gtk::TreeModel::Row row = *leftTreeModel->append();
|
|
||||||
row[modelColumns.pixbufColumn] = pixbuf;
|
row[modelColumns.pixbufColumn] = pixbuf;
|
||||||
row[modelColumns.textColumn] = text;
|
row[modelColumns.textColumn] = text;
|
||||||
|
|
||||||
row = *leftTreeModel->append();
|
|
||||||
row[modelColumns.pixbufColumn] = pixbuf;
|
|
||||||
row[modelColumns.textColumn] = "1111111111";
|
|
||||||
|
|
||||||
row = *leftTreeModel->append();
|
|
||||||
row[modelColumns.pixbufColumn] = pixbuf;
|
|
||||||
row[modelColumns.textColumn] = "2222222222";
|
|
||||||
|
|
||||||
row = *leftTreeModel->append();
|
|
||||||
row[modelColumns.pixbufColumn] = pixbuf;
|
|
||||||
row[modelColumns.textColumn] = "3333333333";
|
|
||||||
|
|
||||||
row = *leftTreeModel->append();
|
|
||||||
row[modelColumns.pixbufColumn] = pixbuf;
|
|
||||||
row[modelColumns.textColumn] = "4444444444";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
row = *treeModel[index]->append();
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* Fill the right tree model.
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
void
|
|
||||||
TestWindow :: fillRightTreeModel (void) throw ()
|
|
||||||
{
|
|
||||||
Ptr<WidgetFactory>::Ref wf = WidgetFactory::getInstance();
|
|
||||||
Glib::RefPtr<Gdk::Pixbuf> pixbuf = wf->getPixbuf(
|
|
||||||
WidgetConstants::audioClipIconImage);
|
|
||||||
|
|
||||||
rightTreeModel->clear();
|
|
||||||
Gtk::TreeModel::Row row = *rightTreeModel->append();
|
|
||||||
row[modelColumns.pixbufColumn] = pixbuf;
|
row[modelColumns.pixbufColumn] = pixbuf;
|
||||||
row[modelColumns.textColumn] = "AAAAAAAAAA";
|
row[modelColumns.textColumn] = (index == 0) ? "1111111111"
|
||||||
|
: "AAAAAAAAAA";
|
||||||
|
|
||||||
row = *rightTreeModel->append();
|
row = *treeModel[index]->append();
|
||||||
row[modelColumns.pixbufColumn] = pixbuf;
|
row[modelColumns.pixbufColumn] = pixbuf;
|
||||||
row[modelColumns.textColumn] = "BBBBBBBBBB";
|
row[modelColumns.textColumn] = (index == 0) ? "2222222222"
|
||||||
|
: "BBBBBBBBBB";
|
||||||
|
|
||||||
row = *rightTreeModel->append();
|
row = *treeModel[index]->append();
|
||||||
row[modelColumns.pixbufColumn] = pixbuf;
|
row[modelColumns.pixbufColumn] = pixbuf;
|
||||||
row[modelColumns.textColumn] = "CCCCCCCCCC";
|
row[modelColumns.textColumn] = (index == 0) ? "3333333333"
|
||||||
|
: "CCCCCCCCCC";
|
||||||
|
|
||||||
row = *rightTreeModel->append();
|
row = *treeModel[index]->append();
|
||||||
row[modelColumns.pixbufColumn] = pixbuf;
|
row[modelColumns.pixbufColumn] = pixbuf;
|
||||||
row[modelColumns.textColumn] = "DDDDDDDDDDD";
|
row[modelColumns.textColumn] = (index == 0) ? "4444444444"
|
||||||
|
: "EEEEEEEEEE";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -234,23 +217,46 @@ void
|
||||||
TestWindow :: setupDndCallbacks (void) throw ()
|
TestWindow :: setupDndCallbacks (void) throw ()
|
||||||
{
|
{
|
||||||
std::list<Gtk::TargetEntry> targets;
|
std::list<Gtk::TargetEntry> targets;
|
||||||
targets.push_back(Gtk::TargetEntry("STRING"));
|
targets.push_back(Gtk::TargetEntry("STRING",
|
||||||
|
Gtk::TARGET_SAME_APP));
|
||||||
|
|
||||||
leftTreeView->drag_source_set(targets);
|
// set up the left tree view
|
||||||
leftTreeView->signal_drag_data_get().connect(sigc::mem_fun(*this,
|
treeView[0]->drag_source_set(targets,
|
||||||
&TestWindow::onLeftTreeViewDragDataGet));
|
Gdk::MODIFIER_MASK,
|
||||||
leftTreeView->drag_dest_set(targets);
|
Gdk::ACTION_COPY | Gdk::ACTION_MOVE);
|
||||||
leftTreeView->signal_drag_data_received().connect(sigc::mem_fun(*this,
|
treeView[0]->signal_drag_data_get().connect(sigc::bind<int>(
|
||||||
&TestWindow::onLeftTreeViewDragDataReceived));
|
sigc::mem_fun(*this,
|
||||||
|
&TestWindow::onTreeViewDragDataGet),
|
||||||
|
0));
|
||||||
|
treeView[0]->drag_dest_set(targets,
|
||||||
|
Gtk::DEST_DEFAULT_ALL,
|
||||||
|
Gdk::ACTION_COPY | Gdk::ACTION_MOVE);
|
||||||
|
treeView[0]->signal_drag_data_received().connect(sigc::bind<int>(
|
||||||
|
sigc::mem_fun(*this,
|
||||||
|
&TestWindow::onTreeViewDragDataReceived),
|
||||||
|
0));
|
||||||
|
|
||||||
rightTreeView->drag_source_set(targets);
|
// set up the right tree view
|
||||||
rightTreeView->signal_drag_data_get().connect(sigc::mem_fun(*this,
|
treeView[1]->drag_source_set(targets,
|
||||||
&TestWindow::onRightTreeViewDragDataGet));
|
Gdk::MODIFIER_MASK,
|
||||||
rightTreeView->drag_dest_set(targets);
|
Gdk::ACTION_COPY | Gdk::ACTION_MOVE);
|
||||||
rightTreeView->signal_drag_data_received().connect(sigc::mem_fun(*this,
|
|
||||||
&TestWindow::onRightTreeViewDragDataReceived));
|
|
||||||
|
|
||||||
label->drag_dest_set(targets);
|
treeView[1]->signal_drag_data_get().connect(sigc::bind<int>(
|
||||||
|
sigc::mem_fun(*this,
|
||||||
|
&TestWindow::onTreeViewDragDataGet),
|
||||||
|
1));
|
||||||
|
treeView[1]->drag_dest_set(targets,
|
||||||
|
Gtk::DEST_DEFAULT_ALL,
|
||||||
|
Gdk::ACTION_COPY | Gdk::ACTION_MOVE);
|
||||||
|
treeView[1]->signal_drag_data_received().connect(sigc::bind<int>(
|
||||||
|
sigc::mem_fun(*this,
|
||||||
|
&TestWindow::onTreeViewDragDataReceived),
|
||||||
|
1));
|
||||||
|
|
||||||
|
// set up the label
|
||||||
|
label->drag_dest_set(targets,
|
||||||
|
Gtk::DEST_DEFAULT_ALL,
|
||||||
|
Gdk::ACTION_COPY | Gdk::ACTION_MOVE);
|
||||||
label->signal_drag_data_received().connect(sigc::mem_fun(*this,
|
label->signal_drag_data_received().connect(sigc::mem_fun(*this,
|
||||||
&TestWindow::onLabelDragDataReceived));
|
&TestWindow::onLabelDragDataReceived));
|
||||||
}
|
}
|
||||||
|
@ -262,7 +268,7 @@ TestWindow :: setupDndCallbacks (void) throw ()
|
||||||
void
|
void
|
||||||
TestWindow :: onComboBoxSelectionChanged (void) throw ()
|
TestWindow :: onComboBoxSelectionChanged (void) throw ()
|
||||||
{
|
{
|
||||||
fillLeftTreeModel();
|
fillTreeModel(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -303,17 +309,25 @@ TestWindow :: run (void) throw ()
|
||||||
* The callback for the start of the drag.
|
* The callback for the start of the drag.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
void
|
void
|
||||||
TestWindow :: onLeftTreeViewDragDataGet(
|
TestWindow :: onTreeViewDragDataGet(
|
||||||
const Glib::RefPtr<Gdk::DragContext> & context,
|
const Glib::RefPtr<Gdk::DragContext> & context,
|
||||||
Gtk::SelectionData & selectionData,
|
Gtk::SelectionData & selectionData,
|
||||||
guint info,
|
guint info,
|
||||||
guint time)
|
guint time,
|
||||||
|
int index)
|
||||||
throw ()
|
throw ()
|
||||||
{
|
{
|
||||||
Glib::RefPtr<Gtk::TreeView::Selection> selection
|
Glib::RefPtr<Gtk::TreeView::Selection> selection
|
||||||
= leftTreeView->get_selection();
|
= treeView[index]->get_selection();
|
||||||
Gtk::TreeModel::Row row = *selection->get_selected();
|
std::list<Gtk::TreePath> rows = selection->get_selected_rows();
|
||||||
Glib::ustring dropString = row[modelColumns.textColumn];
|
Glib::ustring dropString = leftOrRight(index);
|
||||||
|
// we can assume there is only one row selected, due to bug
|
||||||
|
// ...
|
||||||
|
if (rows.size() >= 1) {
|
||||||
|
Gtk::TreeRow row = *treeModel[index]->get_iter(rows.front());
|
||||||
|
dropString += " ";
|
||||||
|
dropString += row[modelColumns.textColumn];
|
||||||
|
}
|
||||||
|
|
||||||
selectionData.set(selectionData.get_target(),
|
selectionData.set(selectionData.get_target(),
|
||||||
8 /* 8 bits format*/,
|
8 /* 8 bits format*/,
|
||||||
|
@ -326,70 +340,45 @@ TestWindow :: onLeftTreeViewDragDataGet(
|
||||||
* The callback for the end of the drag.
|
* The callback for the end of the drag.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
void
|
void
|
||||||
TestWindow :: onLeftTreeViewDragDataReceived(
|
TestWindow :: onTreeViewDragDataReceived(
|
||||||
const Glib::RefPtr<Gdk::DragContext> & context,
|
const Glib::RefPtr<Gdk::DragContext> & context,
|
||||||
int x,
|
int x,
|
||||||
int y,
|
int y,
|
||||||
const Gtk::SelectionData & selectionData,
|
const Gtk::SelectionData & selectionData,
|
||||||
guint info,
|
guint info,
|
||||||
guint time)
|
guint time,
|
||||||
|
int index)
|
||||||
throw ()
|
throw ()
|
||||||
{
|
{
|
||||||
if (selectionData.get_length() >= 0 && selectionData.get_format() == 8) {
|
if (selectionData.get_length() >= 0 && selectionData.get_format() == 8) {
|
||||||
Glib::ustring data = selectionData.get_data_as_string();
|
Glib::ustring data = selectionData.get_data_as_string();
|
||||||
std::cerr << "string '" << data << "' dropped on LEFT tree view\n";
|
if (data.find("left") == 0) {
|
||||||
|
std::cerr << "left -> "
|
||||||
|
<< leftOrRight(index)
|
||||||
|
<< ": "
|
||||||
|
<< data.substr(5)
|
||||||
|
<< std::endl;
|
||||||
|
context->drag_finish(true, false, time);
|
||||||
|
} else if (data.find("right") == 0) {
|
||||||
|
std::cerr << "right -> "
|
||||||
|
<< leftOrRight(index)
|
||||||
|
<< ": "
|
||||||
|
<< data.substr(6)
|
||||||
|
<< std::endl;
|
||||||
context->drag_finish(true, false, time);
|
context->drag_finish(true, false, time);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
std::cerr << "unknown type of data dropped on LEFT tree view\n";
|
std::cerr << "unknown string dropped on "
|
||||||
|
<< leftOrRight(index)
|
||||||
|
<< " tree view: "
|
||||||
|
<< data
|
||||||
|
<< std::endl;
|
||||||
context->drag_finish(false, false, time);
|
context->drag_finish(false, false, time);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* The callback for the start of the drag.
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
void
|
|
||||||
TestWindow :: onRightTreeViewDragDataGet(
|
|
||||||
const Glib::RefPtr<Gdk::DragContext> & context,
|
|
||||||
Gtk::SelectionData & selectionData,
|
|
||||||
guint info,
|
|
||||||
guint time)
|
|
||||||
throw ()
|
|
||||||
{
|
|
||||||
Glib::RefPtr<Gtk::TreeView::Selection> selection
|
|
||||||
= rightTreeView->get_selection();
|
|
||||||
Gtk::TreeModel::Row row = *selection->get_selected();
|
|
||||||
Glib::ustring dropString = row[modelColumns.textColumn];
|
|
||||||
|
|
||||||
selectionData.set(selectionData.get_target(),
|
|
||||||
8 /* 8 bits format*/,
|
|
||||||
(const guchar *) dropString.c_str(),
|
|
||||||
dropString.bytes());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------
|
|
||||||
* The callback for the end of the drag.
|
|
||||||
*----------------------------------------------------------------------------*/
|
|
||||||
void
|
|
||||||
TestWindow :: onRightTreeViewDragDataReceived(
|
|
||||||
const Glib::RefPtr<Gdk::DragContext> & context,
|
|
||||||
int x,
|
|
||||||
int y,
|
|
||||||
const Gtk::SelectionData & selectionData,
|
|
||||||
guint info,
|
|
||||||
guint time)
|
|
||||||
throw ()
|
|
||||||
{
|
|
||||||
if (selectionData.get_length() >= 0 && selectionData.get_format() == 8) {
|
|
||||||
Glib::ustring data = selectionData.get_data_as_string();
|
|
||||||
std::cerr << "string '" << data << "' dropped on RIGHT tree view\n";
|
|
||||||
context->drag_finish(true, false, time);
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
std::cerr << "unknown type of data dropped on RIGHT tree view\n";
|
std::cerr << "unknown type of data dropped on "
|
||||||
|
<< leftOrRight(index)
|
||||||
|
<< " tree view"
|
||||||
|
<< std::endl;
|
||||||
context->drag_finish(false, false, time);
|
context->drag_finish(false, false, time);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -411,7 +400,7 @@ TestWindow :: onLabelDragDataReceived(
|
||||||
if (selectionData.get_length() >= 0 && selectionData.get_format() == 8) {
|
if (selectionData.get_length() >= 0 && selectionData.get_format() == 8) {
|
||||||
Glib::ustring data = selectionData.get_data_as_string();
|
Glib::ustring data = selectionData.get_data_as_string();
|
||||||
label->set_label(data);
|
label->set_label(data);
|
||||||
context->drag_finish(true, false, time);
|
context->drag_finish(true, true, time);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
label->set_label(*getResourceUstring("dropHereText"));
|
label->set_label(*getResourceUstring("dropHereText"));
|
||||||
|
|
|
@ -81,16 +81,12 @@ class TestWindow : public LocalizedObject
|
||||||
configureBundle (void) throw ();
|
configureBundle (void) throw ();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fill the left tree model.
|
* Fill one of the tree models.
|
||||||
|
*
|
||||||
|
* @param index which tree model to fill.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
fillLeftTreeModel (void) throw ();
|
fillTreeModel (int index) throw ();
|
||||||
|
|
||||||
/**
|
|
||||||
* Fill the right tree model.
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
fillRightTreeModel (void) throw ();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set up the D'n'D callbacks.
|
* Set up the D'n'D callbacks.
|
||||||
|
@ -98,6 +94,21 @@ class TestWindow : public LocalizedObject
|
||||||
void
|
void
|
||||||
setupDndCallbacks (void) throw ();
|
setupDndCallbacks (void) throw ();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return either "left" or "right".
|
||||||
|
*
|
||||||
|
* @param index 0 for left, 1 for right.
|
||||||
|
*/
|
||||||
|
Glib::ustring
|
||||||
|
leftOrRight (int index) throw ()
|
||||||
|
{
|
||||||
|
if (index == 0) {
|
||||||
|
return "left";
|
||||||
|
} else {
|
||||||
|
return "right";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
@ -112,14 +123,9 @@ class TestWindow : public LocalizedObject
|
||||||
ComboBoxText * comboBox;
|
ComboBoxText * comboBox;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The left tree view.
|
* The tree views.
|
||||||
*/
|
*/
|
||||||
ZebraTreeView * leftTreeView;
|
ZebraTreeView * treeView[2];
|
||||||
|
|
||||||
/**
|
|
||||||
* The right tree view.
|
|
||||||
*/
|
|
||||||
ZebraTreeView * rightTreeView;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The drop target label.
|
* The drop target label.
|
||||||
|
@ -165,14 +171,9 @@ class TestWindow : public LocalizedObject
|
||||||
ModelColumns modelColumns;
|
ModelColumns modelColumns;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The left tree model, as a GTK reference.
|
* The tree models, as GTK references.
|
||||||
*/
|
*/
|
||||||
Glib::RefPtr<Gtk::ListStore> leftTreeModel;
|
Glib::RefPtr<Gtk::ListStore> treeModel[2];
|
||||||
|
|
||||||
/**
|
|
||||||
* The right tree model, as a GTK reference.
|
|
||||||
*/
|
|
||||||
Glib::RefPtr<Gtk::ListStore> rightTreeModel;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Event handler for selection change in the combo box.
|
* Event handler for selection change in the combo box.
|
||||||
|
@ -194,50 +195,32 @@ class TestWindow : public LocalizedObject
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The callback for the start of the drag.
|
* The callback for the start of the drag.
|
||||||
|
*
|
||||||
|
* @param index which tree view to drag from.
|
||||||
*/
|
*/
|
||||||
virtual void
|
virtual void
|
||||||
onLeftTreeViewDragDataGet(
|
onTreeViewDragDataGet(
|
||||||
const Glib::RefPtr<Gdk::DragContext> & context,
|
const Glib::RefPtr<Gdk::DragContext> & context,
|
||||||
Gtk::SelectionData & selectionData,
|
Gtk::SelectionData & selectionData,
|
||||||
guint info,
|
guint info,
|
||||||
guint time)
|
guint time,
|
||||||
|
int index)
|
||||||
throw ();
|
throw ();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The callback for the end of the drag.
|
* The callback for the end of the drag.
|
||||||
|
*
|
||||||
|
* @param index which tree view to drop to.
|
||||||
*/
|
*/
|
||||||
virtual void
|
virtual void
|
||||||
onLeftTreeViewDragDataReceived(
|
onTreeViewDragDataReceived(
|
||||||
const Glib::RefPtr<Gdk::DragContext> & context,
|
const Glib::RefPtr<Gdk::DragContext> & context,
|
||||||
int x,
|
int x,
|
||||||
int y,
|
int y,
|
||||||
const Gtk::SelectionData & selectionData,
|
const Gtk::SelectionData & selectionData,
|
||||||
guint info,
|
guint info,
|
||||||
guint time)
|
guint time,
|
||||||
throw ();
|
int index)
|
||||||
|
|
||||||
/**
|
|
||||||
* The callback for the start of the drag.
|
|
||||||
*/
|
|
||||||
virtual void
|
|
||||||
onRightTreeViewDragDataGet(
|
|
||||||
const Glib::RefPtr<Gdk::DragContext> & context,
|
|
||||||
Gtk::SelectionData & selectionData,
|
|
||||||
guint info,
|
|
||||||
guint time)
|
|
||||||
throw ();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The callback for the end of the drag.
|
|
||||||
*/
|
|
||||||
virtual void
|
|
||||||
onRightTreeViewDragDataReceived(
|
|
||||||
const Glib::RefPtr<Gdk::DragContext> & context,
|
|
||||||
int x,
|
|
||||||
int y,
|
|
||||||
const Gtk::SelectionData & selectionData,
|
|
||||||
guint info,
|
|
||||||
guint time)
|
|
||||||
throw ();
|
throw ();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue