Я тут как умел для себя кнопочку еще одну привинтил.
Соответственно, делюсь с общественностью. (заодно глюки исправят, подскажут может чего
)
Часто проект чтоб создать, нужно ну очень долго ждать, пока дуплит меню по правой кнопке.
Добавил кнопулю, которая просто создает за меня чистый проектик и открывает его.
NormalResource для нее естественно - 7665
Код метода clicked вот:
Код:
void clicked()
{
TreeNodeName projNum, project = 'Project';
int i, numProj, len = strLen(project);
SET projNumSet = new Set(Types::Integer);
ProjectNode node, groupNode;
ProjectGroupNode child;
TreeNodeIterator treeNodeIterator;
ProjectNode createProject(TreeNodeName name, ProjectGroupNode parent)
{
ProjectNode childNode = parent.aotFindChild(name);
if (!child)
{
parent.aotAdd(name);
childNode = parent.aotFindChild(name);
}
return childNode;
}
;
super();
startLengthyOperation();
groupNode = Infolog.projectRootNode().AOTfindChild('Shared');
treeNodeIterator = groupNode.AOTiterator();
node = treeNodeIterator.next();
while (node)
{
if (substr(node.name(), 1, len) == project)
{
projNum = substr(node.name(), len + 1, strLen(node.name()) - len);
if (strlen(projNum) > 0 && isInteger(projNum))
projNumSet.add(str2int(projNum));
}
node = treeNodeIterator.next();
}
if (projNumSet.elements() > 0)
{
for (i = 1; i <= projNumSet.elements(); i++)
{
if (!projNumSet.in(i))
{
numProj = i;
break;
}
}
if (numProj < 1)
numProj = projNumSet.elements() + 1;
}
else
numProj = 1;
node = createProject(project + int2str(numProj), groupNode);
groupNode.AOTsave();
endLengthyOperation();
node.AOTRun();
node.AOTnewWindow();
}
если кто что привинтит еще или оптимизирует существующее, не стесняйтесь- очень уж хочется еще чего-то эдакого сюда.