ultimatepp/uppsrc/ide/QuickTabs.cpp
mdelfede 263ff5f895 changed svn layout
git-svn-id: svn://ultimatepp.org/upp/trunk@281 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2008-06-07 22:31:27 +00:00

63 lines
1.1 KiB
C++

#include "ide.h"
void Ide::TabFile()
{
int q = tabs.GetCursor();
if(q >= 0)
EditFile(tabs.GetFile(q));
}
void Ide::TabFile2()
{
int q = tabs2.GetCursor();
if(q >= 0) {
String fn = tabs2.GetFile(q);
SwapEditors();
EditFile(fn);
}
}
void Ide::ClearTab()
{
int c = tabs.GetCursor();
if(c >= 0)
tabs.Close(c);
tabs2.Set(tabs);
}
void Ide::ClearTabs()
{
tabs.Clear();
FileSelected();
}
void Ide::CloseRest(QuickTabs *tabs)
{
Index<String> fn;
const Workspace& wspc = IdeWorkspace();
for(int i = 0; i < wspc.GetCount(); i++)
for(int j = 0; j < wspc.GetPackage(i).file.GetCount(); j++)
fn.Add(SourcePath(wspc[i], wspc.GetPackage(i).file[j]));
String cfn;
if(tabs->GetCursor() >= 0)
cfn = tabs->GetFile(tabs->GetCursor());
for(int i = tabs->GetCount() - 1; i >= 0; i--)
if(fn.Find(tabs->GetFile(i)) < 0)
tabs->Close(i);
tabs->FindSetFile(cfn);
}
void Ide::TabsLR(int d)
{
int c = tabs.GetCursor();
if(c < 0 || tabs.GetCount() <= 1)
return;
c = minmax(c + d, 0, tabs.GetCount() - 1);
EditFile(tabs.GetFile(c));
}
void Ide::FileSelected()
{
if(!IsNull(editfile))
tabs.SetAddFile(editfile);
}