Esempio n. 1
0
void UIContext::onRemoveDocument(doc::Document* doc)
{
  if (doc == m_lastSelectedDoc)
    m_lastSelectedDoc = nullptr;

  // We don't destroy views in batch mode.
  if (isUIAvailable()) {
    Workspace* workspace = App::instance()->getMainWindow()->getWorkspace();
    DocumentViews docViews;

    // Collect all views related to the document.
    for (WorkspaceView* view : *workspace) {
      if (DocumentView* docView = dynamic_cast<DocumentView*>(view)) {
        if (docView->getDocument() == doc) {
          docViews.push_back(docView);
        }
      }
    }

    for (DocumentView* docView : docViews) {
      workspace->removeView(docView);
      delete docView;
    }
  }
}
Esempio n. 2
0
DocumentView* UIContext::activeView() const
{
  if (!isUIAvailable())
    return NULL;

  Workspace* workspace = App::instance()->getMainWindow()->getWorkspace();
  WorkspaceView* view = workspace->activeView();
  if (DocumentView* docView = dynamic_cast<DocumentView*>(view))
    return docView;
  else
    return NULL;
}
Esempio n. 3
0
DocumentView* UIContext::activeView() const
{
  if (!isUIAvailable())
    return nullptr;

  Workspace* workspace = App::instance()->workspace();
  if (!workspace)
    return nullptr;

  WorkspaceView* view = workspace->activeView();
  if (DocumentView* docView = dynamic_cast<DocumentView*>(view))
    return docView;
  else
    return nullptr;
}
Esempio n. 4
0
void UIContext::onRemoveDocument(doc::Document* doc)
{
  if (doc == m_lastSelectedDoc)
    m_lastSelectedDoc = nullptr;

  // We don't destroy views in batch mode.
  if (isUIAvailable()) {
    Workspace* workspace = App::instance()->workspace();

    for (DocumentView* docView : getAllDocumentViews(doc)) {
      workspace->removeView(docView);
      delete docView;
    }
  }
}
Esempio n. 5
0
void UIContext::onGetActiveSite(Site* site) const
{
  DocumentView* view = activeView();
  if (view) {
    view->getSite(site);
  }
  // Default/dummy site (maybe for batch/command line mode)
  else if (!isUIAvailable()) {
    if (Document* doc = m_lastSelectedDoc) {
      site->document(doc);
      site->sprite(doc->sprite());
      site->layer(doc->sprite()->indexToLayer(LayerIndex(0)));
      site->frame(0);
    }
  }
}