interface Dict 'Таблицы системы'
(,hcDictInterface,scExtFiles) EscClose, Cyan;
show at ( 3, 1, 76, 26);
create view AllDictTables
var
Markers : longInt;
FieldMarkers : longInt;
IndexNo : longInt;
(MarkerStr)
as select
if (SearchMarker(Markers, x$Files.xf$Code, IndexNo) = True, 'v', ' '),
* from x$Files;
panel pnTablesList;
table x$Files;
browse bwTableList;
fields
MarkerStr '' :[1], Skip;
x$Files.xf$Code 'Код' : Protect;
x$Files.xf$Name 'Имя таблицы' : Protect;
x$Files.xf$Title 'Заглавие таблицы' : Protect;
end;
handleEvent
cmMarkRec: {
InvertMarker(Markers, x$Files.xf$Code);
if ((GetNext x$Files) = tsOk) {};
RescanPanel(tnx$Files);
}
cmMarkAll: {
StartNewVisual( vtRotateVisual, vfTimer, 'Помечаю все', 1);
PushPos(tnx$Files);
if ((Modifier GetFirst x$Files) = tsOk)
begin
do
begin
InsertMarker(Markers, x$Files.xf$Code);
NextVisual;
end;
while (Modifier GetNext x$Files = tsOk)
end;
PopPos(tnx$Files);
StopVisual('', 0);
RescanPanel(tnx$Files);
}
cmInvertMark: {
StartNewVisual( vtRotateVisual, vfTimer, 'Инвертирую список', 1);
PushPos(tnx$Files);
if ((Modifier GetFirst x$Files) = tsOk)
begin
do
begin
InvertMarker(Markers, x$Files.xf$Code);
NextVisual;
end;
while (Modifier GetNext x$Files = tsOk)
end;
PopPos(tnx$Files);
StopVisual( '', 0);
RescanPanel(tnx$Files);
}
cmUnMarkAll: {
ClearMarker(Markers);
RescanPanel(tnx$Files);
}
end;
end; // panel
handleEvent
cmInit: {
Markers := InitMarker('ViewDictMarkers', 2, 1000, 100);
FieldMarkers := InitMarker('', 2, 20, 20);
}
cmDone: {
DoneMarker(Markers, 'ViewDictMarkers');
DoneMarker(FieldMarkers, '');
}
end;
end.