Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

15 Май 2021, 07:46 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Calc: Как скрыть сетку активного листа без диспетчера?  (Прочитано 448 раз)
0 Пользователей и 1 Гость смотрят эту тему.
eeigor
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 550



« Стартовое сообщение: 11 Апрель 2021, 11:12 »

Какой метод дублирует .uno:ToggleSheetGrid? Как узнать, отображаются ли линии сетки в данный момент?
Код:
Sub ToggleSheetGrid
Dim document As Object, dispatcher As Object

document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:ToggleSheetGrid", "", 0, Array())
End Sub

ThisComponent.CurrentController.ShowGrid = False  'скрывает сетку на всех листах (?)

Updated
Это выглядит устрашающе (ссылка)... 2011. Прошло 10 лет.
Кстати, в функции от @sokol92 (файл прикреплён), которая выводит на лист все методы диспетчера с параметрами, этого метода (ToggleSheetGrid) почему-то нет...

В этом есть какая-то непоследовательность...
Напр., этот метод затрагивает все листы:
>>> ThisComponent.CurrentController.ShowGrid = True
А этот только активный лист:
>>> ThisComponent.CurrentController.freezeAtPosition(0, 1)
А объект один и то же! Баг, что ли?.. Неужели для такой задачки нужно отдельное расширение?

* DispCommands.ods (67.66 Кб - загружено 1 раз.)
« Последнее редактирование: 11 Апрель 2021, 15:04 от eeigor » Записан

Ubuntu 18.04 LTS • LO 7.1.1.2 Community
sokol92
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 404


WWW
« Ответ #1: 11 Апрель 2021, 14:21 »

В формате .ods в файле settings.xml тег с именем (атрибутом имени) "Showgrid" формируется для каждого листа отдельно. Соответствующее свойство контроллера документа тоже, по идее, должно работать с активным листом, а меняет отображение сетки сразу всех листов. Я склонен рассматривать это как баг.

Что касается упомянутого файла DispCommands.ods, то в него включены только "слоты методов" (method slots) в соответствии с описанием разработчика. "Слоты свойств" (property slots) не включались, так как мне неизвесты критерии для их отбора. Команда ToggleSheetGrid относится к слоту свойств.
Записан

Владимир.
eeigor
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 550



« Ответ #2: 11 Апрель 2021, 15:44 »

Похоже, баг с 10-летним стажем. Файл settings.xml посмотрел. Может, напишу позднее...
Записан

Ubuntu 18.04 LTS • LO 7.1.1.2 Community
eeigor
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 550



« Ответ #3: 13 Апрель 2021, 11:10 »

Написал багрепорт.
Записан

Ubuntu 18.04 LTS • LO 7.1.1.2 Community
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!