+
+
+string InsetTabular::selectNextWord(BufferView * bv, float & value) const
+{
+ if (the_locking_inset) {
+ string str;
+ str = the_locking_inset->selectNextWord(bv, value);
+ if (!str.empty())
+ return str;
+ }
+ if (tabular->IsLastCell(actcell)) {
+ bv->unlockInset(const_cast<InsetTabular *>(this));
+ return string();
+ }
+
+ // otherwise we have to lock the next inset and ask for it's selecttion
+ UpdatableInset * inset =
+ static_cast<UpdatableInset*>(tabular->GetCellInset(++actcell));
+ inset->edit(bv, 0, 0, 0);
+ string str = selectNextWordInt(bv, value);
+ if (!str.empty())
+ resetPos(bv);
+ return str;
+}
+
+string InsetTabular::selectNextWordInt(BufferView * bv, float & value) const
+{
+ if (the_locking_inset) {
+ string str;
+ str = the_locking_inset->selectNextWord(bv, value);
+ if (!str.empty())
+ return str;
+ }
+ if (tabular->IsLastCell(actcell)) {
+ bv->unlockInset(const_cast<InsetTabular *>(this));
+ return string();
+ }
+
+ // otherwise we have to lock the next inset and ask for it's selecttion
+ UpdatableInset * inset =
+ static_cast<UpdatableInset*>(tabular->GetCellInset(++actcell));
+ inset->edit(bv, 0, 0, 0);
+ return selectNextWordInt(bv, value);
+}
+
+
+void InsetTabular::selectSelectedWord(BufferView * bv)
+{
+ if (the_locking_inset) {
+ the_locking_inset->selectSelectedWord(bv);
+ return;
+ }
+ return;
+}
+
+void InsetTabular::toggleSelection(BufferView * bv, bool kill_selection)
+{
+ if (the_locking_inset) {
+ the_locking_inset->toggleSelection(bv, kill_selection);
+ }
+}