After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 532183 - Add an interface for the image viewing widgets
Add an interface for the image viewing widgets
Status: RESOLVED OBSOLETE
Product: eog
Classification: Core
Component: image viewer
git master
Other All
: Normal enhancement
: ---
Assigned To: EOG Maintainers
EOG Maintainers
Depends on:
Blocks: 546504
 
 
Reported: 2008-05-08 15:06 UTC by Claudio Saavedra
Modified: 2021-06-19 08:46 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24


Attachments
add EogView interface and use it (42.83 KB, patch)
2008-05-08 15:07 UTC, Claudio Saavedra
needs-work Details | Review
updated patch (49.60 KB, patch)
2008-08-06 02:57 UTC, Claudio Saavedra
needs-work Details | Review
Implement EogView as an abstract class (87.60 KB, patch)
2008-08-15 10:21 UTC, Javier Sánchez Ochando
none Details | Review
updated patch (22.48 KB, application/octet-stream)
2009-11-10 13:42 UTC, Gustavo Noronha (kov)
  Details
updated patch (39.68 KB, patch)
2009-11-10 13:43 UTC, Gustavo Noronha (kov)
none Details | Review

Description Claudio Saavedra 2008-05-08 15:06:58 UTC
In order to produce a good clutter (or any other powerful canvas library) image viewing widget, that integrates well enough with EOG, we should have an interface, say EogView, that such widgets must implement.

I'm adding such an interface, and I've ported EogScrollView, EogWindow, and the reload plugin to make use of it. Patch follows.
Comment 1 Claudio Saavedra 2008-05-08 15:07:33 UTC
Created attachment 110587 [details] [review]
add EogView interface and use it
Comment 2 Lucas Rocha 2008-05-31 14:38:06 UTC
Claudio, patch looks good. One possible improvement is to turn EogView into an abstract class and have all common properties there (zoom, zoom_upscale, transparency mode, etc) so that implementors of EogView interface wouldn't have to duplicate that code in any way.
Comment 3 Claudio Saavedra 2008-08-06 02:57:22 UTC
Created attachment 115951 [details] [review]
updated patch

This is only an upgraded patch that applies cleanly against trunk, for people to give it a try/comment on it/work on it.
Comment 4 Javier Sánchez Ochando 2008-08-15 10:21:30 UTC
Created attachment 116649 [details] [review]
Implement EogView as an abstract class

Hi, guys.

This is a experimental patch. No draw images, no scroll, no zoom, only add EogView as an abstract class that inherit from GtkBin. In this abstract class, there aren't implemented any of old API methods, yet.

I think that is necessary to review this API, for example: set/get methods should be implemented as object properties.

Now EogScrollView (in my very reduced version that do nothing) inherit from EogView.

Questions:
- What properties/methods should be implemented in EogView (zoom api?)
- Scrollbars should be included in EogView or in EogScrollView?

I hope not having committed many errors. I'm a newbie.
Comment 5 Gustavo Noronha (kov) 2009-11-10 13:42:16 UTC
Created attachment 147373 [details]
updated patch

I have brought the patch up-to-date. I was looking at what would be good to have in an abstract class, but I think that complicates matters quite a bit. This is because each view implementation wants to inherit a different, specific widget. ClutterView inherits from GtkClutterEmbed, and ScrollView from GtkTable. I suggest using EogView only as an interface, as was initially proposed by Claudio.
Comment 6 Gustavo Noronha (kov) 2009-11-10 13:43:19 UTC
Created attachment 147374 [details] [review]
updated patch

Err... that was the wrong patch =).
Comment 7 Felix Riemann 2009-11-15 19:05:01 UTC
Thanks for giving this a try.
Your patch isn't working. It looks like you forgot to git-add the eog-view parts. ;)
Comment 8 André Klapper 2021-06-19 08:46:12 UTC
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org.
As part of that, we are mass-closing older open tickets in bugzilla.gnome.org
which have not seen updates for a longer time (resources are unfortunately
quite limited so not every ticket can get handled).

If you can still reproduce the situation described in this ticket in a recent
and supported software version, then please follow
  https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines
and create a new ticket at
  https://gitlab.gnome.org/GNOME/eog/-/issues/

Thank you for your understanding and your help.