//case QEvent::Drop:
// break;
- case QEvent::WindowActivate:
+ case QEvent::WindowActivate: {
theApp()->setCurrentView(*this);
- if (d.tab_widget_->count()) {
- GuiWorkArea * wa = dynamic_cast<GuiWorkArea *>(
- d.tab_widget_->currentWidget());
- BOOST_ASSERT(wa);
+ GuiWorkArea * wa = d.tab_widget_->currentWorkArea();
+ if (wa) {
BufferView & bv = wa->bufferView();
connectBufferView(bv);
connectBuffer(bv.buffer());
getDialogs().updateBufferDependent(true);
}
return QMainWindow::event(e);
-
+ }
case QEvent::ShortcutOverride: {
QKeyEvent * ke = static_cast<QKeyEvent*>(e);
if (d.tab_widget_->count() == 0) {
void GuiViewBase::busy(bool yes)
{
- if (d.tab_widget_->count()) {
- GuiWorkArea * wa = dynamic_cast<GuiWorkArea *>(d.tab_widget_->currentWidget());
- BOOST_ASSERT(wa);
+ GuiWorkArea * wa = d.tab_widget_->currentWorkArea();
+ if (wa) {
wa->setUpdatesEnabled(!yes);
if (yes)
wa->stopBlinkingCursor();
WorkArea * GuiViewBase::workArea(Buffer & buffer)
{
- for (int i = 0; i != d.tab_widget_->count(); ++i) {
- GuiWorkArea * wa = dynamic_cast<GuiWorkArea *>(d.tab_widget_->widget(i));
- BOOST_ASSERT(wa);
- if (&wa->bufferView().buffer() == &buffer)
- return wa;
- }
- return 0;
+ return d.tab_widget_->workArea(buffer);
}
WorkArea * GuiViewBase::currentWorkArea()
{
- if (d.tab_widget_->count() == 0)
- return 0;
- BOOST_ASSERT(dynamic_cast<GuiWorkArea *>(d.tab_widget_->currentWidget()));
- return dynamic_cast<GuiWorkArea *>(d.tab_widget_->currentWidget());
+ return d.tab_widget_->currentWorkArea();
}
WorkArea const * GuiViewBase::currentWorkArea() const
{
- if (d.tab_widget_->count() == 0)
- return 0;
- BOOST_ASSERT(dynamic_cast<GuiWorkArea const *>(d.tab_widget_->currentWidget()));
- return dynamic_cast<GuiWorkArea const *>(d.tab_widget_->currentWidget());
+ return d.tab_widget_->currentWorkArea();
}
// update the toc in any case.
updateToc();
- GuiWorkArea * wa = dynamic_cast<GuiWorkArea *>(work_area);
+ GuiWorkArea * wa = static_cast<GuiWorkArea *>(work_area);
BOOST_ASSERT(wa);
d.tab_widget_->setCurrentWorkArea(wa);
}
// update the toc in any case.
updateToc();
- GuiWorkArea * gwa = dynamic_cast<GuiWorkArea *>(work_area);
+ GuiWorkArea * gwa = static_cast<GuiWorkArea *>(work_area);
BOOST_ASSERT(gwa);
d.tab_widget_->removeWorkArea(gwa);