Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch kuntashov-develop Excluding Merge-Ins
This is equivalent to a diff from 4be9b795c1 to 91216d8790
2012-03-01
| ||
09:09 | Изменения из ветки kuntashov-develop перенес в основную ветку. check-in: 0e0d0c951e user: kuntashov tags: trunk | |
08:56 | Синхронизировал с основной веткой. Leaf check-in: 91216d8790 user: kuntashov tags: kuntashov-develop | |
2012-02-29
| ||
10:36 | Добавлено открытие прав объекта Роль. Добавлены макросы для открытия модулей конфигурации check-in: 4be9b795c1 user: orefkov tags: trunk | |
06:42 | двойной щелчок по таблице открывает объект в дереве метаданных check-in: 590ab7c0c8 user: orefkov tags: trunk | |
2012-02-28
| ||
19:16 | Слиты изменения эксперементальной ветки default-macros (http://snegopat.ru/forum/viewtopic.php?f=1&t=123). check-in: 2f64ae860e user: kuntashov tags: kuntashov-develop | |
Changes to DevTools/immediate.js.
47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
} } function macrosЗапуститьОтладчикСкриптов() { runDebugger(); } /* * Обработчики событий формы */ function ОбновлениеОтображения() { // Если надо восстановить положение курсора, сделаем это |
> > > > > > > |
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
} } function macrosЗапуститьОтладчикСкриптов() { runDebugger(); } /* Возвращает название макроса по умолчанию - вызывается, когда пользователь дважды щелкает мышью по названию скрипта в окне Снегопата. */ function getDefaultMacros() { return 'ОткрытьОкно'; } /* * Обработчики событий формы */ function ОбновлениеОтображения() { // Если надо восстановить положение курсора, сделаем это |
Changes to DevTools/pflview.js.
57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
if(!form) { form = loadScriptForm(SelfScript.fullPath.replace(/js$/i, 'ssf'), SelfScript.self) walkProfile(profileRoot, form.ProfileTree) } form.Открыть() } function КоманднаяПанельРазвернутьВсеГруппы(Кнопка) { for(var rowsArray = new Enumerator(form.ProfileTree.Строки); !rowsArray.atEnd(); rowsArray.moveNext()) { var row = rowsArray.item(); |
> > > > > > |
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
if(!form) { form = loadScriptForm(SelfScript.fullPath.replace(/js$/i, 'ssf'), SelfScript.self) walkProfile(profileRoot, form.ProfileTree) } form.Открыть() } /* Возвращает название макроса по умолчанию - вызывается, когда пользователь дважды щелкает мышью по названию скрипта в окне Снегопата. */ function getDefaultMacros() { return 'ПоказатьПрофайл'; } function КоманднаяПанельРазвернутьВсеГруппы(Кнопка) { for(var rowsArray = new Enumerator(form.ProfileTree.Строки); !rowsArray.atEnd(); rowsArray.moveNext()) { var row = rowsArray.item(); |
Changes to DevTools/scriptdev.js.
69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
jsCode = jsCode.replace(/КонецПроцедуры/ig, "}"); stdcommands.Frntend.ClearMessageWindow.send(); // Очистить окно сообщений. Message(jsCode); return true; } /* ********************************************************** * Реализация функционала скрипта. * ********************************************************* */ // Пути хранения настроек скрипта в профайле. var pflPaths = { |
> > > > > > > |
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
jsCode = jsCode.replace(/КонецПроцедуры/ig, "}"); stdcommands.Frntend.ClearMessageWindow.send(); // Очистить окно сообщений. Message(jsCode); return true; } /* Возвращает название макроса по умолчанию - вызывается, когда пользователь дважды щелкает мышью по названию скрипта в окне Снегопата. */ function getDefaultMacros() { return 'Настройка'; } /* ********************************************************** * Реализация функционала скрипта. * ********************************************************* */ // Пути хранения настроек скрипта в профайле. var pflPaths = { |
Changes to DevTools/testrunner.js.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
GetTestRunner().Show(); } function macrosСкрыть() { GetTestRunner().Close(); } //} //////////////////////////////////////////////////////////////////////////////////////// ////{ TestRunner //// function TestRunner() |
> > > > > > > |
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
GetTestRunner().Show(); } function macrosСкрыть() { GetTestRunner().Close(); } /* Возвращает название макроса по умолчанию - вызывается, когда пользователь дважды щелкает мышью по названию скрипта в окне Снегопата. */ function getDefaultMacros() { return 'Показать'; } //} //////////////////////////////////////////////////////////////////////////////////////// ////{ TestRunner //// function TestRunner() |
Changes to RegExpEditor.js.
21
22
23
24
25
26
27
28
29
30
31
32
33
34
...
344
345
346
347
348
349
350
351
352
|
////
SelfScript.Self['macros������������� ���������� ���������'] = function () {
var reEditor = CreateRegExpEditor();
reEditor.setTextWindow(GetTextWindow());
reEditor.open();
}
////} �������
////////////////////////////////////////////////////////////////////////////////////////
////{ RegExpEditor
////
................................................................................
this.form.RegExSource = this.form.RegExSource.replace(/""/g, '"');
}
_RegExpEditor.prototype.CmdBarRemoveNewLines = function (������) {
this.form.RegExSource = this.form.RegExSource.replace(/\r|\n/g, '');
}
////} RegExpEditor - ����������� ������� �����
|
>
>
>
>
>
>
<
<
|
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
...
350
351
352
353
354
355
356
|
//// SelfScript.Self['macros������������� ���������� ���������'] = function () { var reEditor = CreateRegExpEditor(); reEditor.setTextWindow(GetTextWindow()); reEditor.open(); } /* ���������� �������� ������� �� ��������� - ����������, ����� ������������ ������ ������� ����� �� �������� ������� � ���� ���������. */ function getDefaultMacros() { return '������������� ���������� ���������'; } ////} ������� //////////////////////////////////////////////////////////////////////////////////////// ////{ RegExpEditor //// ................................................................................ this.form.RegExSource = this.form.RegExSource.replace(/""/g, '"'); } _RegExpEditor.prototype.CmdBarRemoveNewLines = function (������) { this.form.RegExSource = this.form.RegExSource.replace(/\r|\n/g, ''); } ////} RegExpEditor - ����������� ������� ����� |
Changes to author.js.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
SelfScript.self['macrosНастройка'] = function() { // form - неявно определяемая глобальная переменная. form = loadScriptForm(SelfScript.fullPath.replace(/js$/, 'ssf'), SelfScript.self); form.DoModal(); form = null; } ////} Макросы var MarkerTypes = { ADDED: "МаркерДобавлено", REMOVED: "МаркерУдалено", CHANGED:"МаркерИзменено" |
> > > > > > |
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
SelfScript.self['macrosНастройка'] = function() { // form - неявно определяемая глобальная переменная. form = loadScriptForm(SelfScript.fullPath.replace(/js$/, 'ssf'), SelfScript.self); form.DoModal(); form = null; } /* Возвращает название макроса по умолчанию - вызывается, когда пользователь дважды щелкает мышью по названию скрипта в окне Снегопата. */ function getDefaultMacros() { return 'Настройка'; } ////} Макросы var MarkerTypes = { ADDED: "МаркерДобавлено", REMOVED: "МаркерУдалено", CHANGED:"МаркерИзменено" |
Changes to autosave.js.
48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
// Обработку событий формы привяжем к самому скрипту form = loadScriptForm(pathToForm, SelfScript.self) form.Включить = enabled form.Интервал = interval form.ОткрытьМодально() form = null } // Обработчики нажатий кнопок в форме function ОкНажатие(Элемент) { // Прочитаем значения из формы и если они изменились, сохраним их if(form.Включить != enabled) { |
> > > > > > |
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
// Обработку событий формы привяжем к самому скрипту form = loadScriptForm(pathToForm, SelfScript.self) form.Включить = enabled form.Интервал = interval form.ОткрытьМодально() form = null } /* Возвращает название макроса по умолчанию - вызывается, когда пользователь дважды щелкает мышью по названию скрипта в окне Снегопата. */ function getDefaultMacros() { return 'НастройкаАвтоСохранения'; } // Обработчики нажатий кнопок в форме function ОкНажатие(Элемент) { // Прочитаем значения из формы и если они изменились, сохраним их if(form.Включить != enabled) { |
Changes to configCaption.js.
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
{ captionExpr = form.Выражение profileRoot.setValue(captionExprPath, captionExpr) setCaption(windows.mainTitle, windows.additionalTitle) } form = null } function КоманднаяПанель1Проверить(Кнопка) { var mainTitle = windows.mainTitle, additionalTitle = windows.additionalTitle var mainTitleShort = mainTitle.replace(/^Конфигуратор - /, "") MessageBox(eval(form.Выражение)) } function КоманднаяПанель1ОК(Кнопка) { form.Закрыть(true) } |
> > > > > > |
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
{ captionExpr = form.Выражение profileRoot.setValue(captionExprPath, captionExpr) setCaption(windows.mainTitle, windows.additionalTitle) } form = null } /* Возвращает название макроса по умолчанию - вызывается, когда пользователь дважды щелкает мышью по названию скрипта в окне Снегопата. */ function getDefaultMacros() { return 'Настройка'; } function КоманднаяПанель1Проверить(Кнопка) { var mainTitle = windows.mainTitle, additionalTitle = windows.additionalTitle var mainTitleShort = mainTitle.replace(/^Конфигуратор - /, "") MessageBox(eval(form.Выражение)) } function КоманднаяПанель1ОК(Кнопка) { form.Закрыть(true) } |
Changes to extSearch.js.
58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
} SelfScript.self['macrosПерейти к предыдущему совпадению'] = function() { var es = GetExtSearch(); es.Show(); es.moveRowCursor(false); } ////} Макросы //////////////////////////////////////////////////////////////////////////////////////// ////{ ExtSearch - Расширенный поиск в тексте модуля. //// function ExtSearch() { |
> > > > > > |
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
} SelfScript.self['macrosПерейти к предыдущему совпадению'] = function() { var es = GetExtSearch(); es.Show(); es.moveRowCursor(false); } /* Возвращает название макроса по умолчанию - вызывается, когда пользователь дважды щелкает мышью по названию скрипта в окне Снегопата. */ function getDefaultMacros() { return 'Открыть окно поиска'; } ////} Макросы //////////////////////////////////////////////////////////////////////////////////////// ////{ ExtSearch - Расширенный поиск в тексте модуля. //// function ExtSearch() { |
Changes to extfiles.js.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 .. 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 ... 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 ... 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 ... 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 ... 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 ... 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 ... 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 |
$addin stdlib /* Скрипт для открытия внешних файлов для Снегопата * Автор : Пушин Владимир, vladnet@gmail.com * Дата создания: 24.08.2011 * Описание : Добавляет окно из которого можно открывать внешние файлы */ var мВерсияСкрипта = 1.35 /* Версия 1.35 * 1. Добавлена возможность обновлять не все каталоги, а только текущий * 2. Косметические изменения форм * 3. Добавлены горячие кнопки для кнопок обновления каталогов * 4. Теперь при обновлении каталога позиция курсора сохраняется */ // Зададим путь в профайле var pflExtFilesOpenOnStart = "ExtFiles/OpenOnStart" var pflExtShowExtInName = "ExtFiles/ShowExtInName" var pflExtFilesPath = "ExtFiles/Path" var pflExtFilesPathBase = "ExtFiles/PathBase" var pflExtOpen1CExtensions = "ExtFiles/Open1CExtensions" // Восстановим настройки profileRoot.createValue(pflExtFilesOpenOnStart, false, pflSnegopat) profileRoot.createValue(pflExtShowExtInName, true, pflSnegopat) profileRoot.createValue(pflExtFilesPath, false, pflSnegopat) profileRoot.createValue(pflExtFilesPathBase, false, pflBase) profileRoot.createValue(pflExtOpen1CExtensions, СформироватьТзРасширенияФайловПоУмолчанию(), pflSnegopat) var мОткрыватьПриСтарте = profileRoot.getValue(pflExtFilesOpenOnStart) var мОтображатьРасширениеФайлаВПредставлении = profileRoot.getValue(pflExtShowExtInName) var мТзКаталогиОбщие = profileRoot.getValue(pflExtFilesPath) var мТзКаталогиБазы = profileRoot.getValue(pflExtFilesPathBase) var мТзРасширенияФайлов = profileRoot.getValue(pflExtOpen1CExtensions); var RE_EXTENSIONS = null; global.connectGlobals(SelfScript) function ТзКаталоговИнициализировать(пТзКаталоги) { try{ пТзКаталоги = ValueFromStringInternal(пТзКаталоги) } catch(e){ пТзКаталоги = v8New("ТаблицаЗначений") } try{ /*тут проверяем не старые ли настройки, раньше хранились в массиве, конвертируем, в будущем удалить*/ ................................................................................ return лТзКаталоги } catch(e){ } return пТзКаталоги } мТзКаталогиОбщие = ТзКаталоговИнициализировать(мТзКаталогиОбщие) мТзКаталогиБазы = ТзКаталоговИнициализировать(мТзКаталогиБазы) мФормаСкрипта=null мФормаНастройки=null if(мОткрыватьПриСтарте==true) macrosОткрытьОкноВнешнихФайлов() // Макрос для вызова окна function macrosОткрытьОкноВнешнихФайлов() { var pathToForm = SelfScript.fullPath.replace(/js$/, 'ssf') if(!мФормаСкрипта){ мФормаСкрипта = loadScriptForm(pathToForm, SelfScript.self) // Обработку событий формы привяжем к самому скрипту мФормаСкрипта.Заголовок="Внешние файлы" //+мВерсияСкрипта } мФормаСкрипта.Открыть() } function КпШапкаНастройки(Элемент) { var pathToForm=SelfScript.fullPath.replace(/.js$/, 'param.ssf') мФормаНастройки=loadScriptForm(pathToForm, SelfScript.self) // Обработку событий формы привяжем к самому скрипту мФормаНастройки.ЭлементыФормы.НадписьВерсия.Заголовок="Версия скрипта:"+мВерсияСкрипта мФормаНастройки.ОткрытьМодально() } function мЗаписатьНастройки() { мТзКаталогиОбщие=мФормаНастройки.КаталогиОбщие мТзКаталогиБазы=мФормаНастройки.КаталогиБазы мОткрыватьПриСтарте=мФормаНастройки.ОткрыватьФормуПриЗагрузке мТзРасширенияФайлов = мФормаНастройки.РасширенияФайлов.Скопировать(); RE_EXTENSIONS = null; // Регулярку надо переформировать. profileRoot.setValue(pflExtFilesOpenOnStart, мОткрыватьПриСтарте) profileRoot.setValue(pflExtShowExtInName, мОтображатьРасширениеФайлаВПредставлении) profileRoot.setValue(pflExtFilesOpenOnStart, мОткрыватьПриСтарте) profileRoot.setValue(pflExtFilesPath, ValueToStringInternal(мТзКаталогиОбщие)) profileRoot.setValue(pflExtFilesPathBase, ValueToStringInternal(мТзКаталогиБазы)) profileRoot.setValue(pflExtOpen1CExtensions, мТзРасширенияФайлов) мОбновитьФайлы() } function мЗагрузитьНастройку(пТзКаталоги, пТаблицаКаталогов) { for (var лИнд=0; лИнд<пТзКаталоги.Количество(); лИнд++) { лСтрокаТз=пТаблицаКаталогов.Добавить() лСтрокаТз.ИмяКаталога=пТзКаталоги.Получить(лИнд).ИмяКаталога лСтрокаТз.Развернуть=пТзКаталоги.Получить(лИнд).Развернуть } } function НастройкиПриОткрытии() { мФормаНастройки.ОткрыватьФормуПриЗагрузке=мОткрыватьПриСтарте мФормаНастройки.ОтображатьРасширениеФайлаВПредставлении=мОтображатьРасширениеФайлаВПредставлении мЗагрузитьНастройку(мТзКаталогиОбщие, мФормаНастройки.КаталогиОбщие); мЗагрузитьНастройку(мТзКаталогиБазы, мФормаНастройки.КаталогиБазы); мФормаНастройки.РасширенияФайлов = мТзРасширенияФайлов; } function КпШапкаЗаписатьИЗакрыть(Кнопка) { мЗаписатьНастройки() мФормаНастройки.Закрыть() } function КпШапкаЗаписать(Кнопка) { мЗаписатьНастройки() } function мВыбратьКаталог() { ДиалогОткрытияФайла=v8New("ДиалогВыбораФайла", РежимДиалогаВыбораФайла.ВыборКаталога) ДиалогОткрытияФайла.ПолноеИмяФайла = "" ДиалогОткрытияФайла.Заголовок = "Выберите каталог" if(ДиалогОткрытияФайла.Выбрать()==false) return "" return ДиалогОткрытияФайла.Каталог } function КаталогиОбщиеИмяКаталогаНачалоВыбора(Элемент, СтандартнаяОбработка) { лКаталог=мВыбратьКаталог() if(лКаталог=="") return Элемент.val.Значение=лКаталог } function КаталогиБазыИмяКаталогаНачалоВыбора(Элемент, СтандартнаяОбработка) { лКаталог=мВыбратьКаталог() if(лКаталог=="") return Элемент.val.Значение=лКаталог } function GetAbsolutePathName(pathToFile) { if (pathToFile.length == 0) return pathToFile //код взят из python для определеня abspath debugger; backslash = "\\" if (pathToFile.substr(0,4)=='\\\\.\\' || pathToFile.substr(0,4)=='\\\\?\\') return pathToFile path = pathToFile.replace("/", "\\") ................................................................................ return path+"\\"+b } if (path.substr(path.length-1,1) != "\\" && b.substr(0,1) == "\\") { return path+b; } } function мДобавитьФайлы(пПуть, пУзел) { var лФайлы=FindFiles(пПуть, '*.*', false) for (var лИнд=0; лИнд<лФайлы.Количество(); лИнд++) { лФайл=лФайлы.Получить(лИнд) if((лФайл.ЭтоКаталог() == false) && (мФормаСкрипта.Фильтр != '')) if(лФайл.ИмяБезРасширения.toLowerCase().search(мФормаСкрипта.Фильтр.toLowerCase()) == -1) continue ................................................................................ мДобавитьФайлы(лФайл.ПолноеИмя, лСтрокаДереваФайлов) } else лСтрокаДереваФайлов.Тип=лФайл.Расширение.substr(1) } } function ДобавитьКаталоги(пТзКаталоги) { var mainFolder = profileRoot.getValue("Snegopat/MainFolder") try { var fso = new ActiveXObject ("Scripting.FileSystemObject") } catch (er) { var fso = null } ................................................................................ мДобавитьФайлы(лКаталог, лСтрокаДереваФайлов) лСтрокаДереваФайлов.Строки.Сортировать("ЭтоКаталог Убыв, Имя", true) } мФормаСкрипта.ДеревоФайлов.Строки.Сортировать("ЭтоКаталог Убыв, Имя", true) } function мОбновитьФайлы() { лТекСтрока=мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока // Запомним текущую строку лИмяФайлаТекСтроки="" if(лТекСтрока!=undefined) лИмяФайлаТекСтроки=лТекСтрока.ИмяФайла мФормаСкрипта.ДеревоФайлов.Строки.Очистить() ................................................................................ if(лИмяФайлаТекСтроки != ""){ лСтрокаНайденная=мФормаСкрипта.ДеревоФайлов.Строки.Найти(лИмяФайлаТекСтроки, "ИмяФайла", true) if(лСтрокаНайденная != undefined) мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока=лСтрокаНайденная } } function мОбновитьФайлыТекущейВетки() { лТекСтрока=мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока if(лТекСтрока==undefined) return // Запомним текущую строку лИмяФайлаТекСтроки=лТекСтрока.ИмяФайла while(лТекСтрока.Родитель != undefined) лТекСтрока=лТекСтрока.Родитель ................................................................................ // Восстановим текущую строку лСтрокаНайденная=мФормаСкрипта.ДеревоФайлов.Строки.Найти(лИмяФайлаТекСтроки, "ИмяФайла", true) if(лСтрокаНайденная != undefined) мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока=лСтрокаНайденная } function КпШапкаОбновить(Элемент) { мОбновитьФайлы() } function КпШапкаОбновитьТекущуюВетку(Элемент) { мОбновитьФайлыТекущейВетки() } function ФильтрПриИзменении(Элемент) { мОбновитьФайлы() } function ПриОткрытии() { мОбновитьФайлы() } function КпШапкаЗакрыть(Элемент) { мФормаСкрипта.Закрыть() } function мАктивноДеревоВнешнихФайлов() { if(мФормаСкрипта==null) return false if(мФормаСкрипта.ВводДоступен()!=true) return false return мФормаСкрипта.ТекущийЭлемент==мФормаСкрипта.ЭлементыФормы.ДеревоФайлов } function macrosСвернутьДеревоВнешнихФайлов() { if(мАктивноДеревоВнешнихФайлов()==false) return false if(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.Развернут(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока)==false) { if(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока.Родитель != undefined) мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока=мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока.Родитель } else мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.Свернуть(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока) } function macrosРазвернутьДеревоВнешнихФайлов() { if(мАктивноДеревоВнешнихФайлов()==false) return false мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.Развернуть(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока) } function КпШапкаРазвернуть(Элемент) { macrosРазвернутьДеревоВнешнихФайлов(); } function КпШапкаСправка(Кнопка) { RunApp('http://snegopat.ru/scripts/wiki?name=extfiles.js'); } function КпШапкаСвернуть(Элемент) { macrosСвернутьДеревоВнешнихФайлов() } function ДеревоФайловПередНачаломИзменения(пЭлемент, пОтказ) { пОтказ.val = true лТекСтрока=пЭлемент.val.ТекущаяСтрока if(лТекСтрока.ЭтоКаталог) return if (МожноОткрытьФайлВКонфигураторе(лТекСтрока.ИмяФайла)) stdlib.openFileIn1C(лТекСтрока.ИмяФайла) else ЗапуститьПриложение(лТекСтрока.ИмяФайла); } function ДеревоФайловПриВыводеСтроки(пЭлемент, пОформлениеСтроки, пДанныеСтроки) { лЯчейкаИмя=пОформлениеСтроки.val.Ячейки.Имя лЯчейкаИмя.ОтображатьКартинку=true if(ValueIsFilled(пДанныеСтроки.val.Родитель)==false) лЯчейкаИмя.Картинка=БиблиотекаКартинок.СоздатьГруппу else if(пДанныеСтроки.val.ЭтоКаталог==true) лЯчейкаИмя.Картинка=БиблиотекаКартинок.ОткрытьФайл else лЯчейкаИмя.Картинка=БиблиотекаКартинок.Форма } function СформироватьТзРасширенияФайловПоУмолчанию() { var ТЗ = v8New("ТаблицаЗначений"); ТЗ.Колонки.Добавить("Расширение"); function Расш(расширение) { ТЗ.Добавить().Расширение = расширение; } // Стандартные файлы 1С:Предприятия 8. Расш("txt"); Расш("bmp"); Расш("dib"); Расш("png"); Расш("rle"); ................................................................................ // Файлы Снегопата. Расш("ssf"); Расш("js"); Расш("vbs"); return ТЗ; } function МожноОткрытьФайлВКонфигураторе(ИмяФайла) { if (!RE_EXTENSIONS) { var ext = new Array(); for (var i=0; i<мТзРасширенияФайлов.Количество(); i++) ext.push(мТзРасширенияФайлов.Get(i).Расширение); RE_EXTENSIONS = new RegExp('\.(?:' + ext.join('|') + ' )$', 'i'); } return RE_EXTENSIONS.test(ИмяФайла); } |
| | | < < > > | < > | | | | | < | < < > > > | < > | < | > | | | < > | | < | > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | | | | | | < | | | < > | | < < > < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | | < | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > |
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 ... 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 ... 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 ... 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 ... 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 ... 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 ... 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 ... 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 |
$addin stdlib /* Скрипт для открытия внешних файлов для Снегопата * Автор : Пушин Владимир, vladnet@gmail.com * Дата создания: 24.08.2011 * Описание : Добавляет окно из которого можно открывать внешние файлы */ var мВерсияСкрипта = 1.40 //////////////////////////////////////////////////////////////////////////////////////// ////{ Макросы //// // Макрос для вызова окна function macrosОткрытьОкноВнешнихФайлов() { var pathToForm = SelfScript.fullPath.replace(/js$/, 'ssf') if(!мФормаСкрипта){ мФормаСкрипта = loadScriptForm(pathToForm, SelfScript.self) // Обработку событий формы привяжем к самому скрипту мФормаСкрипта.Заголовок="Внешние файлы" //+мВерсияСкрипта КэшКартинокТиповФайлов = ПолучитьКэшКартинокТиповФайлов(мФормаСкрипта); } мФормаСкрипта.Открыть() } function macrosСвернутьДеревоВнешнихФайлов() { if(мАктивноДеревоВнешнихФайлов()==false) return false if(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.Развернут(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока)==false) { if(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока.Родитель != undefined) мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока=мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока.Родитель } else мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.Свернуть(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока) } function macrosРазвернутьДеревоВнешнихФайлов() { if(мАктивноДеревоВнешнихФайлов()==false) return false мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.Развернуть(мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока) } ////} Макросы //////////////////////////////////////////////////////////////////////////////////////// ////{ ФормаСкрипта - обработчики событий. //// function КпШапкаОбновить(Элемент) { мОбновитьФайлы() } function КпШапкаОбновитьТекущуюВетку(Элемент) { мОбновитьФайлыТекущейВетки() } function ФильтрПриИзменении(Элемент) { мОбновитьФайлы() } function ПриОткрытии() { мОбновитьФайлы() } function КпШапкаЗакрыть(Элемент) { мФормаСкрипта.Закрыть() } function мАктивноДеревоВнешнихФайлов() { if(мФормаСкрипта==null) return false if(мФормаСкрипта.ВводДоступен()!=true) return false return мФормаСкрипта.ТекущийЭлемент==мФормаСкрипта.ЭлементыФормы.ДеревоФайлов } function КпШапкаРазвернуть(Элемент) { macrosРазвернутьДеревоВнешнихФайлов(); } function КпШапкаСправка(Кнопка) { RunApp('http://snegopat.ru/scripts/wiki?name=extfiles.js'); } function КпШапкаСвернуть(Элемент) { macrosСвернутьДеревоВнешнихФайлов() } function ДеревоФайловПередНачаломИзменения(пЭлемент, пОтказ) { пОтказ.val = true лТекСтрока=пЭлемент.val.ТекущаяСтрока if(лТекСтрока.ЭтоКаталог) return if (МожноОткрытьФайлВКонфигураторе(лТекСтрока.ИмяФайла)) stdlib.openFileIn1C(лТекСтрока.ИмяФайла) else ЗапуститьПриложение(лТекСтрока.ИмяФайла); } function ДеревоФайловПриВыводеСтроки(пЭлемент, пОформлениеСтроки, пДанныеСтроки) { лЯчейкаИмя=пОформлениеСтроки.val.Ячейки.Имя лЯчейкаИмя.ОтображатьКартинку=true if(ValueIsFilled(пДанныеСтроки.val.Родитель)==false) { лЯчейкаИмя.Картинка = мФормаСкрипта.ЭлементыФормы.КартинкаПапка.Картинка; } else if(пДанныеСтроки.val.ЭтоКаталог==true) { лЯчейкаИмя.Картинка = мФормаСкрипта.ЭлементыФормы.КартинкаПапка.Картинка; } else { var КартинкаПоРасширению = ПолучитьКартинкуПоРасширению(пДанныеСтроки.val.Тип); лЯчейкаИмя.Картинка = КартинкаПоРасширению ? КартинкаПоРасширению : БиблиотекаКартинок.Форма; } } function КонтекстноеМенюОткрытьПроводник (Кнопка) { var ТекущаяСтрока = мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущиеДанные; if (ТекущаяСтрока) { var СтрокаЗапуска = 'explorer.exe "' + ПолучитьКаталогСтрокиДерева(ТекущаяСтрока) + '"'; ЗапуститьПриложение(СтрокаЗапуска); } } function КонтекстноеМенюОткрытьКонсоль (Кнопка) { var ТекущаяСтрока = мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущиеДанные; if (ТекущаяСтрока) { var Каталог = ПолучитьКаталогСтрокиДерева(ТекущаяСтрока); var СтрокаЗапуска = ПолучитьКомандуЗапускаКонсоли(Каталог); ЗапуститьПриложение(СтрокаЗапуска, Каталог); } } //// ////} ФормаСкрипта - обработчики событий. //////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////// ////{ Вспомогательные процедуры и функции. //// function ТзКаталоговИнициализировать(пТзКаталоги) { try{ пТзКаталоги = ValueFromStringInternal(пТзКаталоги) } catch(e){ пТзКаталоги = v8New("ТаблицаЗначений") } try{ /*тут проверяем не старые ли настройки, раньше хранились в массиве, конвертируем, в будущем удалить*/ ................................................................................ return лТзКаталоги } catch(e){ } return пТзКаталоги } function GetAbsolutePathName(pathToFile) { if (pathToFile.length == 0) return pathToFile //код взят из python для определеня abspath debugger; backslash = "\\" if (pathToFile.substr(0,4)=='\\\\.\\' || pathToFile.substr(0,4)=='\\\\?\\') return pathToFile path = pathToFile.replace("/", "\\") ................................................................................ return path+"\\"+b } if (path.substr(path.length-1,1) != "\\" && b.substr(0,1) == "\\") { return path+b; } } function мДобавитьФайлы(пПуть, пУзел) { var лФайлы=FindFiles(пПуть, '*.*', false) for (var лИнд=0; лИнд<лФайлы.Количество(); лИнд++) { лФайл=лФайлы.Получить(лИнд) if((лФайл.ЭтоКаталог() == false) && (мФормаСкрипта.Фильтр != '')) if(лФайл.ИмяБезРасширения.toLowerCase().search(мФормаСкрипта.Фильтр.toLowerCase()) == -1) continue ................................................................................ мДобавитьФайлы(лФайл.ПолноеИмя, лСтрокаДереваФайлов) } else лСтрокаДереваФайлов.Тип=лФайл.Расширение.substr(1) } } function ДобавитьКаталоги(пТзКаталоги) { var mainFolder = profileRoot.getValue("Snegopat/MainFolder") try { var fso = new ActiveXObject ("Scripting.FileSystemObject") } catch (er) { var fso = null } ................................................................................ мДобавитьФайлы(лКаталог, лСтрокаДереваФайлов) лСтрокаДереваФайлов.Строки.Сортировать("ЭтоКаталог Убыв, Имя", true) } мФормаСкрипта.ДеревоФайлов.Строки.Сортировать("ЭтоКаталог Убыв, Имя", true) } function мОбновитьФайлы() { лТекСтрока=мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока // Запомним текущую строку лИмяФайлаТекСтроки="" if(лТекСтрока!=undefined) лИмяФайлаТекСтроки=лТекСтрока.ИмяФайла мФормаСкрипта.ДеревоФайлов.Строки.Очистить() ................................................................................ if(лИмяФайлаТекСтроки != ""){ лСтрокаНайденная=мФормаСкрипта.ДеревоФайлов.Строки.Найти(лИмяФайлаТекСтроки, "ИмяФайла", true) if(лСтрокаНайденная != undefined) мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока=лСтрокаНайденная } } function мОбновитьФайлыТекущейВетки() { лТекСтрока=мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока if(лТекСтрока==undefined) return // Запомним текущую строку лИмяФайлаТекСтроки=лТекСтрока.ИмяФайла while(лТекСтрока.Родитель != undefined) лТекСтрока=лТекСтрока.Родитель ................................................................................ // Восстановим текущую строку лСтрокаНайденная=мФормаСкрипта.ДеревоФайлов.Строки.Найти(лИмяФайлаТекСтроки, "ИмяФайла", true) if(лСтрокаНайденная != undefined) мФормаСкрипта.ЭлементыФормы.ДеревоФайлов.ТекущаяСтрока=лСтрокаНайденная } function ПолучитьКаталогСтрокиДерева(СтрокаДерева) { var Файл = v8New('Файл', СтрокаДерева.ИмяФайла); return Файл.ЭтоФайл() ? Файл.Путь : Файл.ПолноеИмя; } function ПолучитьКомандуЗапускаКонсоли(Каталог) { return мКомандаЗапускаКонсоли.replace(/%1/, Каталог); } function СформироватьТзРасширенияФайловПоУмолчанию() { var ТЗ = v8New("ТаблицаЗначений"); ТЗ.Колонки.Добавить("Расширение"); function Расш(расширение) { ТЗ.Добавить().Расширение = расширение; } // Стандартные файлы 1С:Предприятия 8. Расш("txt"); Расш("bmp"); Расш("dib"); Расш("png"); Расш("rle"); ................................................................................ // Файлы Снегопата. Расш("ssf"); Расш("js"); Расш("vbs"); return ТЗ; } function МожноОткрытьФайлВКонфигураторе(ИмяФайла) { if (!RE_EXTENSIONS) { var ext = new Array(); for (var i=0; i<мТзРасширенияФайлов.Количество(); i++) ext.push(мТзРасширенияФайлов.Get(i).Расширение); RE_EXTENSIONS = new RegExp('\.(?:' + ext.join('|') + ')$', 'i'); } return RE_EXTENSIONS.test(ИмяФайла); } function ПолучитьКэшКартинокТиповФайлов(ФормаСкрипта) { var ЭФ = ФормаСкрипта.ЭлементыФормы; var cache = {}; function add(estr, pic) { var exts = estr.split('|'); for (var i=0; i<exts.length; i++) cache[exts[i].toLowerCase()] = pic; } add('doc|docx|dot|odf', ЭФ.КартинкаТипФайлаDoc.Картинка); add('xls|xlsx|csv', ЭФ.КартинкаТипФайлаXls.Картинка); add('pps|ppsx', ЭФ.КартинкаТипФайлаPps.Картинка); add('pdf|ps', ЭФ.КартинкаТипФайлаPdf.Картинка); add('png|jpg|jpeg|bmp|tif|dib|ico', ЭФ.КартинкаТипФайлаPng.Картинка); add('xml', ЭФ.КартинкаТипФайлаXml.Картинка); add('zip', ЭФ.КартинкаТипФайлаZip.Картинка); add('rar', ЭФ.КартинкаТипФайлаRar.Картинка); add('exe|cmd|bat', ЭФ.КартинкаТипФайлаExe.Картинка); add('txt', ЭФ.КартинкаТипФайлаTxt.Картинка); add('geo', ЭФ.КартинкаТипФайлаGeo.Картинка); add('grs', ЭФ.КартинкаТипФайлаGrs.Картинка); add('erf', ЭФ.КартинкаТипФайлаErf.Картинка); add('epf', ЭФ.КартинкаТипФайлаEpf.Картинка); add('mxl', ЭФ.КартинкаТипФайлаMxl.Картинка); add('ssf', ЭФ.КартинкаТипФайлаSsf.Картинка); add('js', ЭФ.КартинкаТипФайлаTxt.Картинка); add('vbs', ЭФ.КартинкаТипФайлаTxt.Картинка); add('unknown', ЭФ.КартинкаТипФайлаUnknown.Картинка); return cache; } function ПолучитьКартинкуПоРасширению(Расширение) { if (КэшКартинокТиповФайлов) { var pic = КэшКартинокТиповФайлов[Расширение.toLowerCase()]; return pic ? pic : КэшКартинокТиповФайлов['unknown']; } return null; } //// ////} Вспомогательные процедуры и функции. //////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////// ////{ ФормаНастройки - обработчики событий. //// function КпШапкаНастройки(Элемент) { var pathToForm=SelfScript.fullPath.replace(/.js$/, 'param.ssf') мФормаНастройки=loadScriptForm(pathToForm, SelfScript.self) // Обработку событий формы привяжем к самому скрипту мФормаНастройки.ЭлементыФормы.НадписьВерсия.Заголовок="Версия скрипта:"+мВерсияСкрипта мФормаНастройки.ОткрытьМодально() } function мЗаписатьНастройки() { мТзКаталогиОбщие=мФормаНастройки.КаталогиОбщие мТзКаталогиБазы=мФормаНастройки.КаталогиБазы мОткрыватьПриСтарте=мФормаНастройки.ОткрыватьФормуПриЗагрузке мТзРасширенияФайлов = мФормаНастройки.РасширенияФайлов.Скопировать(); мКомандаЗапускаКонсоли = мФормаНастройки.КомандаЗапускаКонсоли; RE_EXTENSIONS = null; // Регулярку надо переформировать. profileRoot.setValue(pflExtFilesOpenOnStart, мОткрыватьПриСтарте) profileRoot.setValue(pflExtShowExtInName, мОтображатьРасширениеФайлаВПредставлении) profileRoot.setValue(pflExtFilesOpenOnStart, мОткрыватьПриСтарте) profileRoot.setValue(pflExtFilesPath, ValueToStringInternal(мТзКаталогиОбщие)) profileRoot.setValue(pflExtFilesPathBase, ValueToStringInternal(мТзКаталогиБазы)) profileRoot.setValue(pflExtOpen1CExtensions, мТзРасширенияФайлов) profileRoot.setValue(pflExtRunConsoleCommand, мКомандаЗапускаКонсоли) мОбновитьФайлы() } function мЗагрузитьНастройку(пТзКаталоги, пТаблицаКаталогов) { for (var лИнд=0; лИнд<пТзКаталоги.Количество(); лИнд++) { лСтрокаТз=пТаблицаКаталогов.Добавить() лСтрокаТз.ИмяКаталога=пТзКаталоги.Получить(лИнд).ИмяКаталога лСтрокаТз.Развернуть=пТзКаталоги.Получить(лИнд).Развернуть } } function НастройкиПриОткрытии() { мФормаНастройки.ОткрыватьФормуПриЗагрузке=мОткрыватьПриСтарте мФормаНастройки.ОтображатьРасширениеФайлаВПредставлении=мОтображатьРасширениеФайлаВПредставлении мЗагрузитьНастройку(мТзКаталогиОбщие, мФормаНастройки.КаталогиОбщие); мЗагрузитьНастройку(мТзКаталогиБазы, мФормаНастройки.КаталогиБазы); мФормаНастройки.РасширенияФайлов = мТзРасширенияФайлов; мФормаНастройки.КомандаЗапускаКонсоли = мКомандаЗапускаКонсоли; } function КпШапкаЗаписатьИЗакрыть(Кнопка) { мЗаписатьНастройки() мФормаНастройки.Закрыть() } function КпШапкаЗаписать(Кнопка) { мЗаписатьНастройки() } /* Возвращает название макроса по умолчанию - вызывается, когда пользователь дважды щелкает мышью по названию скрипта в окне Снегопата. */ function getDefaultMacros() { return 'ОткрытьОкноВнешнихФайлов'; } function мВыбратьКаталог() { ДиалогОткрытияФайла=v8New("ДиалогВыбораФайла", РежимДиалогаВыбораФайла.ВыборКаталога) ДиалогОткрытияФайла.ПолноеИмяФайла = "" ДиалогОткрытияФайла.Заголовок = "Выберите каталог" if(ДиалогОткрытияФайла.Выбрать()==false) return "" return ДиалогОткрытияФайла.Каталог } function КаталогиОбщиеИмяКаталогаНачалоВыбора(Элемент, СтандартнаяОбработка) { лКаталог=мВыбратьКаталог() if(лКаталог=="") return Элемент.val.Значение=лКаталог } function КаталогиБазыИмяКаталогаНачалоВыбора(Элемент, СтандартнаяОбработка) { лКаталог=мВыбратьКаталог() if(лКаталог=="") return Элемент.val.Значение=лКаталог } function НадписьCmdExeНажатие (Элемент) { мФормаНастройки.КомандаЗапускаКонсоли = Элемент.val.Заголовок; } function НадписьFarExeНажатие (Элемент) { мФормаНастройки.КомандаЗапускаКонсоли = Элемент.val.Заголовок; } //// ////} ФормаНастройки - обработчики событий. //////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////// ////{ Инициализация скрипта //// // Зададим путь в профайле var pflExtFilesOpenOnStart = "ExtFiles/OpenOnStart" var pflExtShowExtInName = "ExtFiles/ShowExtInName" var pflExtFilesPath = "ExtFiles/Path" var pflExtFilesPathBase = "ExtFiles/PathBase" var pflExtOpen1CExtensions = "ExtFiles/Open1CExtensions" var pflExtRunConsoleCommand = "ExtFiles/RunConsoleCommand" // Восстановим настройки profileRoot.createValue(pflExtFilesOpenOnStart, false, pflSnegopat) profileRoot.createValue(pflExtShowExtInName, true, pflSnegopat) profileRoot.createValue(pflExtFilesPath, false, pflSnegopat) profileRoot.createValue(pflExtFilesPathBase, false, pflBase) profileRoot.createValue(pflExtOpen1CExtensions, СформироватьТзРасширенияФайловПоУмолчанию(), pflSnegopat) profileRoot.createValue(pflExtRunConsoleCommand, 'cmd.exe /K cd /D "%1"', pflSnegopat) var мОткрыватьПриСтарте = profileRoot.getValue(pflExtFilesOpenOnStart) var мОтображатьРасширениеФайлаВПредставлении = profileRoot.getValue(pflExtShowExtInName) var мТзКаталогиОбщие = profileRoot.getValue(pflExtFilesPath) var мТзКаталогиБазы = profileRoot.getValue(pflExtFilesPathBase) var мТзРасширенияФайлов = profileRoot.getValue(pflExtOpen1CExtensions); var мКомандаЗапускаКонсоли = profileRoot.getValue(pflExtRunConsoleCommand); var RE_EXTENSIONS = null; var КэшКартинокТиповФайлов = {}; global.connectGlobals(SelfScript) мТзКаталогиОбщие = ТзКаталоговИнициализировать(мТзКаталогиОбщие) мТзКаталогиБазы = ТзКаталоговИнициализировать(мТзКаталогиБазы) мФормаСкрипта=null мФормаНастройки=null if(мОткрыватьПриСтарте==true) macrosОткрытьОкноВнешнихФайлов() ////} Инициализация скрипта |
Changes to extfiles.ssf.
cannot compute difference between binary files
Changes to extfilesparam.ssf.
cannot compute difference between binary files
Changes to mdNavigator.js.
367 368 369 370 371 372 373 374 |
var n = Кнопка.val.Name doAction(function(mdObj){mdObj.editProperty(n)}) } // Двойной щелчок по таблице function ТаблицаМетаданныхВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка) { doAction(function(mdObj){mdObj.activateInTree()}) } |
> > > > > > |
367 368 369 370 371 372 373 374 375 376 377 378 379 380 |
var n = Кнопка.val.Name doAction(function(mdObj){mdObj.editProperty(n)}) } // Двойной щелчок по таблице function ТаблицаМетаданныхВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка) { doAction(function(mdObj){mdObj.activateInTree()}) } /* Возвращает название макроса по умолчанию - вызывается, когда пользователь дважды щелкает мышью по названию скрипта в окне Снегопата. */ function getDefaultMacros() { return 'Открыть объект метаданных'; } |
Changes to query_colors.js.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
function macrosОткрытьОкно() { form = loadScriptForm(SelfScript.fullPath.replace(/js$/i, 'ssf'), SelfScript.self) form.ОткрытьМодально() form = null } function ПриОткрытии() { var qec = profileRoot.getFolder("SelectColorCategory") for(var i = 0, c = qec.valuesCount; i < c; i++) { var row = form.Категории.Добавить() |
> > > > > > |
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
function macrosОткрытьОкно() { form = loadScriptForm(SelfScript.fullPath.replace(/js$/i, 'ssf'), SelfScript.self) form.ОткрытьМодально() form = null } /* Возвращает название макроса по умолчанию - вызывается, когда пользователь дважды щелкает мышью по названию скрипта в окне Снегопата. */ function getDefaultMacros() { return 'ОткрытьОкно'; } function ПриОткрытии() { var qec = profileRoot.getFolder("SelectColorCategory") for(var i = 0, c = qec.valuesCount; i < c; i++) { var row = form.Категории.Добавить() |
Changes to snippets.js.
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 ... 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 ... 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 |
var sm = GetSnippetsManager(); var params = sm.paramsManager.getAllParams(); var selParam = sm.selectValue(params); if (selParam) w.SetSelectedText('<%' + selParam + '>'); } ////} Макросы //////////////////////////////////////////////////////////////////////////////////////// ////{ SnippetsManager //// function SnippetsManager() { SnippetsManager._instance = this; this.settings = SettingsManagement.CreateManager(SelfScript.uniqueName, {'TemplateFilesList':v8New('ValueList')}); this.settings.LoadSettings(); this._snippets = {}; this._snippetNames = new Array(); this.paramsManager = new SnippetParametersManager(); ................................................................................ this.form.Close(); } SettingsManagerDialog.prototype.CmdBarAbout = function (button) { RunApp('http://snegopat.ru/scripts/wiki?name=snippets.js'); } SettingsManagerDialog.prototype.CmdBarStListAddStFile = function (button) { var dlg = v8New('FileDialog', FileDialogMode.Open); dlg.Multiselect = true; dlg.CheckFileExist = true; dlg.Filter = "Файлы шаблонов (*.st)|*.st|Все файлы|*"; if (dlg.Choose()) { this.form.Modified = true; for(var i=0; i<dlg.SelectedFiles.Count(); i++) { var path = dlg.SelectedFiles.Get(i); if (!this.form.TemplateFilesList.FindByValue(path)) this.form.TemplateFilesList.Add(path); } } } SettingsManagerDialog.prototype.CmdBarStListDeleteStFile = function (button) { var curRow = this.form.Controls.TemplateFilesList.CurrentRow; if (curRow) { this.form.TemplateFilesList.Delete(curRow); this.form.Modified = true; } } SettingsManagerDialog.prototype.OnOpen = function() { } SettingsManagerDialog.prototype.BeforeClose = function(Cancel, StandardHandler) { StandardHandler.val = false; ................................................................................ } Cancel.val = false; } ////} SettingsManagerDialog //////////////////////////////////////////////////////////////////////////////////////// ////{ Startup //// function GetSnippetsManager() { if (!SnippetsManager._instance) new SnippetsManager(); return SnippetsManager._instance; } events.connect(snegopat, "onProcessTemplate", GetSnippetsManager()); ////} Startup |
> > > > > > | | | | > > > > > > > > > | < < < | < > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > |
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 ... 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 ... 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 |
var sm = GetSnippetsManager(); var params = sm.paramsManager.getAllParams(); var selParam = sm.selectValue(params); if (selParam) w.SetSelectedText('<%' + selParam + '>'); } /* Возвращает название макроса по умолчанию - вызывается, когда пользователь дважды щелкает мышью по названию скрипта в окне Снегопата. */ function getDefaultMacros() { return 'ОткрытьНастройкиСкрипта'; } ////} Макросы //////////////////////////////////////////////////////////////////////////////////////// ////{ SnippetsManager //// function SnippetsManager() { SnippetsManager._instance = this; this.settings = SettingsManagement.CreateManager(SelfScript.uniqueName, {'TemplateFilesList':getDefaultTemplatesList()}); this.settings.LoadSettings(); this._snippets = {}; this._snippetNames = new Array(); this.paramsManager = new SnippetParametersManager(); ................................................................................ this.form.Close(); } SettingsManagerDialog.prototype.CmdBarAbout = function (button) { RunApp('http://snegopat.ru/scripts/wiki?name=snippets.js'); } SettingsManagerDialog.prototype.selectTemplateFiles = function (multiselect) { var dlg = v8New('FileDialog', FileDialogMode.Open); dlg.Multiselect = multiselect ? true : false; dlg.CheckFileExist = true; dlg.Filter = "Файлы шаблонов (*.st)|*.st|Все файлы|*"; if (dlg.Choose()) return multiselect ? dlg.SelectedFiles : dlg.FullFileName; return null; } SettingsManagerDialog.prototype.CmdBarStListAddStFile = function (button) { var selected = this.selectTemplateFiles(true); if (selected) { this.form.Modified = true; for (var i=0; i<selected.Count(); i++) this.form.TemplateFilesList.Add().Value = selected.Get(i); } } SettingsManagerDialog.prototype.CmdBarStListDeleteStFile = function (button) { var curRow = this.form.Controls.TemplateFilesList.CurrentRow; if (curRow) { this.form.TemplateFilesList.Delete(curRow); this.form.Modified = true; } } SettingsManagerDialog.prototype.TemplateFilesListValueStartChoice = function (Control, DefaultHandler) { DefaultHandler.val = false; var fname = this.selectTemplateFiles(false); if (fname) { this.form.Modified = true; Control.val.Value = fname; } } SettingsManagerDialog.prototype.OnOpen = function() { } SettingsManagerDialog.prototype.BeforeClose = function(Cancel, StandardHandler) { StandardHandler.val = false; ................................................................................ } Cancel.val = false; } ////} SettingsManagerDialog ////{ Вспомогательные функции для работы с настройками. function getDefaultTemplatesList() { var tplList = v8New('ValueTable'); tplList.Columns.Add('Value'); return tplList; } function __convertSettingsFromValueListToValueTable() { /* Изначально настройки хранились в СпискеЗначений. Возникла необходимость переделать на ТаблицуЗначений. Данная процедура выполняет конвертацию. */ var pflSnippets = SelfScript.uniqueName + '/TemplateFilesList'; var defaultTplList = getDefaultTemplatesList(); profileRoot.createValue(SelfScript.name, defaultTplList, pflSnegopat); var tplList = profileRoot.getValue(pflSnippets); if (toV8Value(tplList).typeName() == 'ValueList') { for(var i=0; i<tplList.Count(); i++) defaultTplList.Add().Value = tplList.Get(i).Value; } profileRoot.setValue(pflSnippets, defaultTplList); } ////} Вспомогательные функции для работы с настройками. //////////////////////////////////////////////////////////////////////////////////////// ////{ Startup //// function GetSnippetsManager() { if (!SnippetsManager._instance) new SnippetsManager(); return SnippetsManager._instance; } //{ Конвертация значения настройки TemplateFilesList из списка значений в таблицу значений. __convertSettingsFromValueListToValueTable(); //} events.connect(snegopat, "onProcessTemplate", GetSnippetsManager()); ////} Startup |
Changes to snippets.settings.ssf.
cannot compute difference between binary files