Améliorer l'interface graphique GTK+

Résolu/Fermé
toyo2020 Messages postés 58 Date d'inscription jeudi 15 octobre 2020 Statut Membre Dernière intervention 5 avril 2024 - 17 déc. 2021 à 10:46
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 8 avril 2022 à 17:03
Bonjour, je travaille actuellement avec C++

Je ne suis pas complètement satisfait de l'interface graphique GTK+ et je souhaite y ajouter des conteneurs, cette interface graphique GTK+ propose des conteneur c.a.d des fenêtres standards pour MacOS & Linux & Windows.

J'aimerais y ajouter des fenêtres non standard pour Linux, le titre en haut serait inchangé mais le nom du document (un feuillet) ou des documents (plusieurs feuillets) serait organisé différemment. Sinon pour tout le reste je trouve l'interface graphique GTK+ parfaite et je ne vois rien à modifier.

On peut légalement modifier l'interface graphique GTK+ ? On peut télécharger cette bibliothèque GTK+ écrite en C et l'utiliser mais comment obtenir la source et ajouter des lignes de code en C ?

Merci d'avance de toutes vos réponses.

Configuration: Linux / Firefox 95.0

1 réponse

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
Modifié le 25 janv. 2022 à 17:07
Bonjour,

J'aimerais y ajouter des fenêtres non standard pour Linux, le titre en haut serait inchangé mais le nom du document (un feuillet) ou des documents (plusieurs feuillets) serait organisé différemment. Sinon pour tout le reste je trouve l'interface graphique GTK+ parfaite et je ne vois rien à modifier.

Je ne pense pas que tu aies besoin de modifier la librairie GTK. Il suffirait de faire une classe qui hérite des classes desquelles tu veux repartir et qui surcharge ce qui ne te plaît pas. Il faudrait que tu clarifies ce que tu as en tête pour plus de précisions.

GTK+ est en C, et même si ce langage n'offre pas nativement de notion d'héritage (comme en C++), ça n'empêche pas de faire une sorte d'héritage par imbrication de structure. C'est quelque chose de classique en C, et qui est d'ailleurs fait dans GTK+, comme l'illustre d'ailleurs la documentation (voir par exemple cette page).

On peut légalement modifier l'interface graphique GTK+ ?

Du moment que tu te conformes aux licences associées à cette librairie, tu peux. D'après cette page, il s'agit de la LGPLv2.1+


On peut télécharger cette bibliothèque GTK+ écrite en C et l'utiliser mais comment obtenir la source et ajouter des lignes de code en C ?
  • Approche 1 : Tu fais des héritages, comme je t'ai proposé. C'est à mon avis le plus simple et le plus propre.
  • Approche 2 : Si tu décides de modifier la librairie, il faut la recompiler et linker ton projet avec la librairie que tu auras modifiée.
  • Approche 3 : Tu peux aussi copier coller certaines classes dans ton projets. Si tu décides de linker avec GTK+, il faut cependant éviter les collisions avec les objets de la librairie, donc tu devrais renommer les classes modifiées pour éviter toute ambiguïté.


Bonne chance
0
toyo2020 Messages postés 58 Date d'inscription jeudi 15 octobre 2020 Statut Membre Dernière intervention 5 avril 2024
6 avril 2022 à 11:31
Merci pour toutes ces info mamiemando dont ce lien < https://en.wikipedia.org/wiki/GTK > même si la licence est en anglais.

GTK+ étant exploité par des distributions Linux payantes comme gratuites je serais conformes aux licences associées à cette librairie si ensuite le < GTK+ modifié > sera proposé par une licence distribution Linux payante, libre ensuite a d'autre informaticiens d'exploiter gratuitement le < GTK+ modifié > tel quel ou de lui apporter des ajouts.
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749 > toyo2020 Messages postés 58 Date d'inscription jeudi 15 octobre 2020 Statut Membre Dernière intervention 5 avril 2024
8 avril 2022 à 17:03
Bonjour,

Merci pour toutes ces info mamiemando dont ce lien < https://en.wikipedia.org/wiki/GTK > même si la licence est en anglais.

Si tu as des doutes avec un texte anglais, tu peux passer par un traducteur en ligne genre deepl.
0