Esempio n. 1
0
function EditorSetSelectionFromOffsets(selRanges)
{
  var rangeArr, start, end, i, node, offset;
  var selection = GetCurrentEditor().editorSelection;

  selection.clearSelection();

  for (i = 0; i < selRanges.length; i++)
  {
    rangeArr = selRanges[i];
    start    = rangeArr[0];
    end      = rangeArr[1];

    var range = GetCurrentEditor().editorDocument.createRange();

    node   = EditorGetNodeAtOffsets(start[0]);
    offset = start[1];

    range.setStart(node, offset);

    node   = EditorGetNodeAtOffsets(end[0]);
    offset = end[1];

    range.setEnd(node, offset);

    selection.addRange(range);
  }
}
Esempio n. 2
0
bool GUI::LoadMap(FileName name)
{
	if(GetCurrentEditor() && !GetCurrentMap().hasChanged() && !GetCurrentMap().hasFile())
		g_gui.CloseCurrentEditor();

	Editor* editor;
	try
	{
		editor = newd Editor(copybuffer, name);
	}
	catch(std::runtime_error& e)
	{
		PopupDialog(root, wxT("Error!"), wxString(e.what(), wxConvUTF8), wxOK);
		return false;
	}

	MapTab* mapTab = newd MapTab(tabbook, editor);
	mapTab->OnSwitchEditorMode(mode);

	root->AddRecentFile(name);

	mapTab->GetView()->FitToMap();
	UpdateTitle();
	ListDialog(wxT("Map loader errors"), mapTab->GetMap()->getWarnings());
	root->DoQueryImportCreatures();

	FitViewToMap(mapTab);
	root->UpdateMenubar();
	return true;
}
Esempio n. 3
0
void GUI::StartPasting()
{
	if(GetCurrentEditor()) {
		pasting = true;
		secondary_map = &copybuffer.getBufferMap();
	}
}
Esempio n. 4
0
void GUI::SaveCurrentMap(FileName filename, bool showdialog)
{
	Editor* editor = GetCurrentEditor();
	if(editor)
		editor->saveMap(filename, showdialog);

	UpdateTitle();
	root->UpdateMenubar();
	root->Refresh();
}
Esempio n. 5
0
function EditorGetNodeAtOffsets(offsets)
{
  var node = null;
  var i;

  node = GetCurrentEditor().editorDocument;

  for (i = 0; i < offsets.length; i++)
  {
    node = node.childNodes[offsets[i]];
  }

  return node;
}
Esempio n. 6
0
bool GUI::ShouldSave()
{
	const Map& map = GetCurrentMap();
	if(map.hasChanged()) {
		if(map.getTileCount() == 0) {
			Editor* editor = GetCurrentEditor();
			ASSERT(editor);
			return editor->actionQueue->canUndo();
		}
		return true;
	}
	return false;

}
Esempio n. 7
0
bool GUI::DoRedo()
{
	Editor* editor = GetCurrentEditor();
	if(editor && editor->actionQueue->canRedo()) {
		editor->actionQueue->redo();
		if(editor->selection.size() > 0)
			SetSelectionMode();
		SetStatusText(wxT("Redo action"));
		UpdateMinimap();
		root->UpdateMenubar();
		root->Refresh();
		return true;
	}
	return false;
}
Esempio n. 8
0
Map& GUI::GetCurrentMap()
{
	Editor* editor = GetCurrentEditor();
	ASSERT(editor);
	return editor->map;
}
Esempio n. 9
0
bool GUI::CanRedo()
{
	Editor* editor = GetCurrentEditor();
	return (editor && editor->actionQueue->canRedo());
}