Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Gdk::Window::get_device_position() instead of Gtk::Widget::get_pointer() #574

Conversation

ma8ma
Copy link
Collaborator

@ma8ma ma8ma commented Jan 23, 2021

GTK4で廃止されるGtk::Widget::get_pointer()のかわりにGdk::Window::get_device_position()を使います。

参考
https://stackoverflow.com/questions/24844489/how-to-use-gdk-device-get-position

非推奨のシンボルを無効化するマクロ

GDK_DISABLE_DEPRECATED
GTK_DISABLE_DEPRECATED
GDKMM_DISABLE_DEPRECATED
GTKMM_DISABLE_DEPRECATED
GIOMM_DISABLE_DEPRECATED
GLIBMM_DISABLE_DEPRECATED

コンパイラのレポート

../src/article/articleviewbase.cpp:1012:9: error: 'get_pointer' was not declared in this scope; did you mean 'gpointer'?
1012 |         get_pointer( x, y );
  |         ^~~~~~~~~~~
  |         gpointer
../src/article/articleviewbase.cpp:1014:22: error: 'class SKELETON::PopupWin' has no member named 'get_pointer'
1014 |         m_popup_win->get_pointer( x, y );
  |                      ^~~~~~~~~~~
../src/article/drawareabase.cpp:3188:20: error: 'class Gtk::DrawingArea' has no member named 'get_pointer'
3188 |             m_view.get_pointer( x_point, y_point );
  |                    ^~~~~~~~~~~
../src/skeleton/edittreeview.cpp:234:17: error: 'get_pointer' was not declared in this scope; did you mean 'gpointer'?
234 |                 get_pointer( x, y );
  |                 ^~~~~~~~~~~
  |                 gpointer
../src/skeleton/tabnote.cpp:168:5: error: 'get_pointer' was not declared in this scope; did you mean 'gpointer'?
168 |     get_pointer( x, y );
  |     ^~~~~~~~~~~
  |     gpointer
../src/skeleton/treeviewbase.cpp:82:5: error: 'get_pointer' was not declared in this scope; did you mean 'gpointer'?
82 |     get_pointer( x, y );
  |     ^~~~~~~~~~~
  |     gpointer
../src/skeleton/treeviewbase.cpp:99:5: error: 'get_pointer' was not declared in this scope; did you mean 'gpointer'?
99 |     get_pointer( x, y );
  |     ^~~~~~~~~~~
  |     gpointer
../src/skeleton/view.cpp:175:5: error: 'get_pointer' was not declared in this scope; did you mean 'gpointer'?
175 |     get_pointer( x, y );
  |     ^~~~~~~~~~~
  |     gpointer

…inter()

GTK4で廃止される`Gtk::Window::get_pointer()`[*]のかわりに
`Gdk::Window::get_device_position()`を使います。

参考
https://stackoverflow.com/questions/24844489/how-to-use-gdk-device-get-position

非推奨のシンボルを無効化するマクロ
```
GDK_DISABLE_DEPRECATED
GTK_DISABLE_DEPRECATED
GDKMM_DISABLE_DEPRECATED
GTKMM_DISABLE_DEPRECATED
GIOMM_DISABLE_DEPRECATED
GLIBMM_DISABLE_DEPRECATED
```

コンパイラのレポート
```
../src/article/articleviewbase.cpp:1012:9: error: 'get_pointer' was not declared in this scope; did you mean 'gpointer'?
 1012 |         get_pointer( x, y );
      |         ^~~~~~~~~~~
      |         gpointer
../src/article/articleviewbase.cpp:1014:22: error: 'class SKELETON::PopupWin' has no member named 'get_pointer'
 1014 |         m_popup_win->get_pointer( x, y );
      |                      ^~~~~~~~~~~
../src/article/drawareabase.cpp:3188:20: error: 'class Gtk::DrawingArea' has no member named 'get_pointer'
 3188 |             m_view.get_pointer( x_point, y_point );
      |                    ^~~~~~~~~~~
../src/skeleton/edittreeview.cpp:234:17: error: 'get_pointer' was not declared in this scope; did you mean 'gpointer'?
  234 |                 get_pointer( x, y );
      |                 ^~~~~~~~~~~
      |                 gpointer
../src/skeleton/tabnote.cpp:168:5: error: 'get_pointer' was not declared in this scope; did you mean 'gpointer'?
  168 |     get_pointer( x, y );
      |     ^~~~~~~~~~~
      |     gpointer
../src/skeleton/treeviewbase.cpp:82:5: error: 'get_pointer' was not declared in this scope; did you mean 'gpointer'?
   82 |     get_pointer( x, y );
      |     ^~~~~~~~~~~
      |     gpointer
../src/skeleton/treeviewbase.cpp:99:5: error: 'get_pointer' was not declared in this scope; did you mean 'gpointer'?
   99 |     get_pointer( x, y );
      |     ^~~~~~~~~~~
      |     gpointer
../src/skeleton/view.cpp:175:5: error: 'get_pointer' was not declared in this scope; did you mean 'gpointer'?
  175 |     get_pointer( x, y );
      |     ^~~~~~~~~~~
      |     gpointer
```

[*]: https://developer.gnome.org/gtkmm/3.24/classGdk_1_1Window.html#a7b72ec86d47d628bd9112a803d61089f
@ma8ma ma8ma added gtk3 GTK3版に関するトピック refactoring コードの整理 (バグ修正でも機能変更でもない) labels Jan 23, 2021
@ma8ma ma8ma added this to In progress in State of JDim-v0.5.0+ via automation Jan 23, 2021
@ma8ma ma8ma merged commit 9289039 into JDimproved:master Jan 23, 2021
State of JDim-v0.5.0+ automation moved this from In progress to Done Jan 23, 2021
@ma8ma ma8ma deleted the use-gdkwindow-get_device_position-to-get-mouse-position branch January 23, 2021 08:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gtk3 GTK3版に関するトピック refactoring コードの整理 (バグ修正でも機能変更でもない)
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

None yet

1 participant