LINUX.ORG.RU

Clutter: всё такое deprecated

 , ,


0

1

Нашёл код, начал фиксить все ворнинги в нём.
Не могу понять одного места: к сигналу paint прикреплёна функция рисования.
Про этот сигнал сказано:

Warning: paint is deprecated.

Override the paint virtual function, use a Content implementation, or a Effect instead of connecting to this signal.

Subclasses of Actor should override the paint virtual function paint themselves in that function.

It is strongly discouraged to connect a signal handler to the paint signal; if you want to change the paint sequence of an existing Actor instance, either create a new Actor class and override the paint virtual function, or use a Effect. The paint signal will be removed in a future version of Clutter.

Полез искать, где же находится эта функция paint, которую нужно переопределить, но так и не нашёл.
Я думаю, имеется ввиду ClutterActorClass.paint, но где она в биндинге и как её переопределить?

★★★★★

Последнее исправление: CYB3R (всего исправлений: 4)

по-моему, всё предельно понятно: в классах, унаследованных от Clutter.Actor, необходимо переопределить функцию paint. как-то так:
было:

class MyActor : Actor {
}
...
MyActor.paint.connect(() => do_something());
стало:
class MyActor : Actor {
	public override void paint() {
		do_something();
	}
}
прототип функции находится в классе Clutter.Actor и выглядит так: public virtual signal void paint (). переопределяется (вернее, определяется впервые), конечно, только обработчик по умолчанию, ты всё равно сможешь приконнектить туда сколько угодно обработчиков извне. но сказано:

It is strongly discouraged to connect a signal handler to the paint signal...The paint signal will be removed in a future version of Clutter.

поэтому лучше не надо. если хочешь больше инфы по поводу переопределения сигналов, а точнее, их обработчиков по умолчанию, читай секцию «Default Signal Handlers and connect_after()» в документации.

Lincor
()
Ответ на: комментарий от buddhist

Да вроде нет, вместе с GNOME 3.16 последний зарелизился.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от buddhist

https://blogs.gnome.org/clutter/2015/03/07/whats-new-in-clutter-1-22/

As you may have noticed, the development pace has slowed down considerably from the heyday of the 1.10 and 1.12 development cycles <...> This does not mean that the development of Clutter has ceased; since Clutter is still in use, bug fixes and new features are planned and landing in the Git repository.

intelfx ★★★★★
()
Ответ на: комментарий от buddhist

Не, наоборот. Он как раз скоро стабилизируется и его совсем перестанут ломать.

CYB3R ★★★★★
() автор топика
Ответ на: комментарий от Lincor

Вот как всё просто. Меня просто смутило то, что в C API сигнал и виртуальная функция — две совсем разные штуки.

CYB3R ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.