Пользовательская панель инструментов

Автор Andreych, 07.12.18, 22:26:51

« предыдущая - следующая »

0 Пользователей и 1 гость просматривают эту тему.

Вират Лакх

14.12.18, 06:26:47 #60 Последнее редактирование: 14.12.18, 06:56:10 от Вират Лакх
-1) Лучше архив разбить на тома. Больше двух файлов пока что не получится. Чем обращаться к файлообменникам. Сегодня файл там есть, завтра - нет.
12) Не вдупляю, где пишется о невозможности запуска команды?
17) Сделайте по 16 команд в каждой панели. Хотя я это и сам могу сделать, и оно сохранится.
18) См. скриншот. Там запятая вместо точки? В кнопках Импорт и Доб. иконки.
19) Получается, что функция Добавить кнопку по сути не работает, раз не сохраняются изменения. Может её до выяснения обстоятельств выкинуть? А можно же создать пустых команд-кнопок столько, чтобы в сумме с уже созданными (кроме группы команд настроек программы) получилось эдак 1000 штук (518 компасных на сегодняшний день + почти столько же для библиотек, макросов и чего угодно: калькуляторов, конвертаторов и др. и пр.)? Тогда не нужна будет функция добавить кнопку. И освободившуюся иконку с плюсиком поставить на добавление утилиты.
20) "Назначить для команды" лучше написать "Назначить иконку для команды".
21) При добавлении утилиты зеленым подсвечивается только первая панель. Зачем вообще делать зеленым, если они и так подсвечены?
22) Зачем функция Сохранить список команд? Может её выкинуть, а сохранение будет само при нажатии (в смысле отжатии) на кнопку Настройка?
23) Предлагаю не создавать по умолчанию вторую панельку. А то её невозможно удалить в настройках, а только отключить. Панельки мы можем сами создавать и удалять свои. И это сохраняется. Пусть будет одна минимально необходимая неудаляемая.
24) Предлагаю разделить Категории. Сейчас оно По умолчанию. Сделать две категории: 1. "Настройка" - тут будут команды из панели Редактирование, которую тоже надо назвать Настройка. 2. "Все команды" - тут будет 1000 команд: уже созданные и пустые.
25) Про скрытие заголовка. Если кнопкой настройки подогнать рамку окна, а потом скрыть рамку окна, то выглядит не очень. Сверху много с торчащим текстом, а снизу, наоборот, урезано сильно (при двух панельках друг под другом). Это для горизонтальных панелек. Для вертикальных нормально (только низ надо отрегулировать вручную). Давайте все-таки сверху один пиксель оставим? Видимо, для обоих вариантов (вертикально и горизонтально) надо снизу поправку +1 или +2 пикселя при отключении рамки окна. Хотя при одном ряде горизонтальных панелек, наоборот, лишнее остается.
------
Вот это сделать/исправить - и можно будет брать на вооружение.
upd:
26) Если в режиме скрытой рамки окна закрыть программу, то ранее сохраненное положение слетает при следующем запуске на 0,0

ТрындецЪ

В командах Сервисных инструментов есть лишняя строка 50039 "Апроксимация контура".

Andreych

Новая версия программы v1.6.
https://файлообменник.рф/p6zkj8kcp36w.html
Другие предложенные обменники у меня не сработали. Вот Zippyshare отлично работал.

1. Постарался исправить неверные размеры окна в режиме без списка команд или без рамок. Т.к. в данном компоненте панели инструментов нет свойств ширины и высоты панели, то пришлось использовать весьма окольные пути для определения размеров окна. Я даже сам не вполне понимаю как это работает. Однако сейчас у меня на домашнем компе искажений размеров не происходит. Однако они могут возникнуть при другом разрешении экрана, если Aero в Windows отключено, нестандартная тема применена и т.д. и т.п.
2. Исправил некоторые недочеты, которые нашел Вират Лакх. (но не все пожелания учел :) )
3. Добавил возможность добавлять в файл KompasCommands.txt команды других библиотек. Вручную, самим пользователям.
Формат такой, как в имеющемся списке.
  Библиотека "Стандартные изделия"  |53000   -  название после обязательного слова "Библиотека", и после символа "|" число, которое надо всегда добавлять к номеру команды из этой библиотеки
  \PARTLib\Clients\plclient_kompas.dll                 -  файл библиотеки относительно папки Libs в Компасе
53001  Вставить элемент                                   - номер команды должен быть 1, но надо добавить 53000, т.к. в разных библиотеках могут быть одинаковые номера команд, а программа должна их различать по одному этому номеру. Поэтому эти номера нужно сделать уникальными при помощи прибавления 53000, 54000, 55000 и т.д.


Andreych

Пока не успели скачать версию 1.6, вот еще более новая версия
https://файлообменник.рф/by0rrxaj5zyw.html
1. Большие кнопки Импорт и доб. иконки я перенес в панель настроек. Причем кнопка импортирования номеров иконок спрятана, т.к. должна использоваться редко. Ее можно вытащить через окно настроек.
2. Добавил ползунок изменения прозрачности окна и панелей. Думаю пригодится, когда панели будут загораживать чертеж.
Правда от этого размер файла сразу вырос на 400кб.

Andreych

Еще изменения внес - версия 1.8:
1. Программа отображается только в трее, в панели задач место не занимает.
2. Сделал таки сохранение добавленных кнопок, а также их удаление. Только нельзя удалить начальные 15 кнопок, при их удалении они просто вернутся к начальным настройкам, но их можно скрыть.
3. Убрал 2-ю панель с пустыми кнопками, т.к. теперь и кнопки и новую панель можно создать самим и это все сохранится.
Можно хранить несколько файлов KompasToolbar.ini с разными настройками кнопок и панелей, а потом их подставлять вместо файла KompasToolbar.ini, чтобы подхватился нужный набор настроек.

Вират Лакх

Прям заметно лучше стало!
Можно сделать так, чтобы программа, увидев, что панелька не одна, предложила ткнуть на то место, куда добавлять кнопку?
Если панелька одна, то можно не предлагать, как сейчас.
Другой вариант (лучше) - всегда спрашивать, куда вставить. Например, мы можем указать место между первой и второй кнопкой на первой панели или пустую поначалу вторую панельку.
ЦитироватьМожно хранить несколько файлов KompasToolbar.ini с разными настройками кнопок и панелей, а потом их подставлять вместо файла KompasToolbar.ini, чтобы подхватился нужный набор настроек.

Подставлять - это как? Просто один убирать/переименовывать, а другой называть KompasToolbar.ini?
А может всё-таки как параметр указывать свой файл настроек?
Если прогу запускаем без ключей, то как сейчас использовать KompasToolbar.ini.
Если я укажу как параметр какой-нибудь файл KompasToolbar111.ini, то программа могла бы брать настройки из него.
Таким образом, используя .bat файл, можно запустить несколько панелей с разными настройками.
Небольшая заметка по использованию программы. Лучше отключить тени, отбрасываемые окнами (см. настройку Windows).

Golovanev

Просьба...

Коллега, добавьте в варианты выбора команды из Shaft.rtw "Валы и механические передачи 2D" - очень обяжите...

Andreych

Так добавить команды теперь может каждый. Просто редактируя текстовый файл.
Просто добавьте в конец файла KompasCommands.txt вот это:

  Библиотека "Валы и механические передачи 2D"  |55000
  \Shaft\Shaft.rtw
55201  Построение модели
55202  Расчеты механических передач
55203  Настройка


  Библиотека "Валы и механические передачи 3D"  |56000
  \Shaft\Shaft3D.rtw
56210  Внешняя цилиндрическая ступень
56211  Внешняя коническая ступень
56212  Внешняя многогранная ступень
56213  Внешняя профильная ступень
56220  Внутренняя цилиндрическая ступень
56221  Внутренняя коническая ступень
56222  Внутренняя многогранная ступень
56223  Внутренняя профильная ступень
56230  Кольцевые отверстия
56231  Кольцевой паз
56232  Отверстие
56233  Канавка
56234  Проточка
56281  Шестерня цилиндрическая с внешними зубьями
56282  Шестерня цилиндрическая с внутренними зубьями
56283  Шестерня коническая с круговым зубом
56284  Шестерня коническая с прямым зубом
56285  Цилиндрический червяк
56286  Цилиндрическое червячное колесо
56287  Звездочка для приводных роликовых цепей
56288  Шкив клиноременной передачи
56289  Шкив зубчатоременной передачи
56350  Шлицы
56351  Шпоночный паз
56352  Внешняя цилиндрическая ступень с метрической резьбой

Andreych

Цитата: Вират Лакх от 21.12.18, 05:12:32
Можно сделать так, чтобы программа, увидев, что панелька не одна, предложила ткнуть на то место, куда добавлять кнопку?
А может всё-таки как параметр указывать свой файл настроек?


1. Думаю можно.
2. Тоже можно. Хотя можно просто сделать подпапку, туда положить exe и запускать оттуда - будет 2-й набор настроек.

Golovanev

21.12.18, 09:43:06 #69 Последнее редактирование: 21.12.18, 09:56:28 от Golovanev
Цитата: Andreych от 21.12.18, 09:32:12
Так добавить команды теперь может каждый. Просто редактируя текстовый файл.
Просто добавьте в конец файла KompasCommands.txt вот это:



В последнем архиве нет этого файла. Или он сам создается при первом запуске?

С этим разобрался - Добавил. А вот не запускается ничего - в Caption
"Пользовательская панель инструментов - Библиотека "ВиМП 2D" - не подключена.

Причина в том что Shaft.rtw может находиться не в каталоге KOMPAS\Libs\Shaft.
Как указать полное имя до нее? Разобрался и с этим.... по относительному пути



DesignЯR

21.12.18, 09:50:03 #70 Последнее редактирование: 21.12.18, 10:05:38 от DesignЯR
Какой должен быть размер добавляемых иконок?, а то извлеченные из *.rtw некрасиво отображаются.
Удалять иконки можно только вручную из файла "KompasToolbar.ini"?
При откреплении панели с кнопками от окна формы и активации окна Компаса панель пропадает, хотя форма ППИ висит

DesignЯR

Цитата: Golovanev от 21.12.18, 09:43:06
В последнем архиве нет этого файла. Или он сам создается при первом запуске?

там кнопочка для сохранения есть

Golovanev

На мой взгляд на панели не помешали бы разделители.

Andreych

Цитата: DesignЯR от 21.12.18, 09:50:03
Какой должен быть размер добавляемых иконок?, а то извлеченные из *.rtw некрасиво отображаются.
Удалять иконки можно только вручную из файла "KompasToolbar.ini"?
При откреплении панели с кнопками от окна формы и активации окна Компаса панель пропадает, хотя форма ППИ висит


C иконками вопрос непростой. По идее нужны иконки 16х16 и 24х24. Что будет, если в файле ico нет этих размеров или есть 48х48 например, надо пробовать, может даже 48х48 несмасштабированная добавится (обрезанная).
Удалять иконки да, только вручную из "KompasToolbar.ini". А это делать надо осторожно. Т.к. при удалении иконки индексы всех нижестоящих иконок сдвинутся и соотв. кнопки отобразят уже не ту иконку.

Да, при откреплении панель уже не поверх всех становится. Чтобы ее "появить", надо нажать на основное окно программы. С этим я ничего поделать не могу.

ТрындецЪ

Столкнулся с неприятным багом.
Добавил на вторую имеющуюся панель несколько одинаковых кнопок, затем попытался связать с одной из этих кнопок утилиту (.pyw), в итоге все эти добавленные кнопки унаследовали новую иконку и новую команду.

Andreych

Цитата: Вират Лакх от 21.12.18, 05:12:32
Можно сделать так, чтобы программа, увидев, что панелька не одна, предложила ткнуть на то место, куда добавлять кнопку?


1. К сожалению, так сделать не получается. Я оказывается не могу узнать в событии onClick у кнопки с какой панели эта кнопка нажалась. Так что новые кнопки будут по-прежнему добавляться в первую панель. А уж потом их можно будет перенести.
2. Добавил возможность запускать программу с разными файлами настройки. Это может быть полезным.
Запускать из командной строки так: KompasToolbar.exe mysettings.ini [mycommands.txt]
Можно имя файла ini с полным путем указывать, с любого места., а можно без пути (из папки программы).
3. Не все опции проверил как работают - добавление кнопок, утилит на разные панели. Я багов пока не нашел.
Надеюсь тот баг, который описал ТрындецЪ, исправился в новой версии программы. Я попробовал сделать как описано, у меня все иконки и команды остались как должны быть.
Но баги не исключены, т.к. еще возможны всякие случаи, что добавленной иконки или утилиты больше нет по прежнему пути, или были вручную поправлены настройки, удалены иконки и т.п., то тогда возможно нумерация добавленных иконок и сместится, надо проверять все случаи.
4. Кстати, при добавлении новой библиотеки с командами путь к библиотеке можно указывать полный, а не только относительно папки Libs.

Golovanev

Даю совет - не надо менять имя у исполняемого модуля от версии к версии. Совершенно это ни к чему.
Прописали же в свойствах исполняемого модуля версию и этого уже достаточно.

Andreych

Это чтобы здесь видеть отличия версий, я перед отправкой сюда переименовываю просто.
Конечно имя файла можно не менять.

Golovanev

Вот и не меняйте, достаточно же имя архива держать здесь с версией.

ТрындецЪ

Цитата: Andreych от 21.12.18, 23:11:21
3. Не все опции проверил как работают - добавление кнопок, утилит на разные панели. Я багов пока не нашел.
Надеюсь тот баг, который описал ТрындецЪ, исправился в новой версии программы. Я попробовал сделать как описано, у меня все иконки и команды остались как должны быть.

Баг есть. Обнаруживается так:
ПКМ / Настроить - вылазиет окно настроек, сдвигаем его.
С зажатой CTRL "размножаем" какую-нибудь кнопку.
Закрываем настройки.
Входим в режим редактирования F2. Переназначаем любой из размноженных кнопок команду (выбрав команду в списке и кликнув на кнопку)
В итоге переназначаются все размноженные кнопки. Они ведут себя как одна кнопка, потому что, удалив любую из них, удаляются все.
Понял, что так кнопки добавлять нельзя, только через '+'.