Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

GtkWindow signal "minimize" n'existe pas.


Sujet :

GTK+ avec C & C++

  1. #1
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : juin 2010
    Messages : 1 077
    Points : 1 740
    Points
    1 740
    Par défaut GtkWindow signal "minimize" n'existe pas.
    Salut les GThacKtivistes,

    J'ai fait un programme de lecture de vidéos basé sur libvlc ayant pout interface graphique gtk+-3.0.

    La barre de progression, button play/pause, etc... sont compris dans une GtkWindow que j'ajuste.

    Le problème récurrent et que je n'arrive pas a résoudre malgré tout mes efforts,

    est issue du faîte que l'on fait apparaître et disparaitre la fenêtre des contrôles, par un click.

    Et du coup je n'arrive pas a la faire disparaitre (gtk_widget_hide(...)) quand ont "minimize" l'application.

    Car y a pas de signal "on-minimize"...

    ---

    Alors quand ont fait une pause par exemple et l'on "minimize" la fenêtre principale la fenêtre des contrôles

    reste sur le bureau alors que la fenêtre principale est réduite.

    ---

    J'ai chercher sans trouver de solution et m'en remets a vous du coup.

    Merci pour vos réponses éclairées.
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

  2. #2
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : juin 2010
    Messages : 1 077
    Points : 1 740
    Points
    1 740
    Par défaut J'ai réussis !
    Bonjours,

    En faites c'est possible en passant par le signal: "window-state-event".

    Comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    static gboolean hide_controls_on_iconify(GtkWidget *widget, GdkEventWindowState *event,GtkWidget *controls) { // The variable controls is a window.
     
      if (event->type == GDK_WINDOW_STATE) {
     
        if (event->changed_mask == GDK_WINDOW_STATE_ICONIFIED) {
     
          gtk_widget_hide(controls) ;
     
          is_pressed = FALSE ; // Variable to control if the controls are shown or hidden.
     
        }
     
      }
     
      return FALSE ;
     
    }
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

  3. #3
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : juin 2010
    Messages : 1 077
    Points : 1 740
    Points
    1 740
    Par défaut Sauvegarder la visibilté de la barre (fenêtre) des controls.
    Seulement,

    en voulant sauvegarder le status des controls comme montré ci-dessous:

    (C.a.d quand on "minimize" la fenêtre principale et après les controls sont afficher quand ont la "re-maximize".)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    static gboolean hide_controls_on_iconify(GtkWidget *widget, GdkEventWindowState *event,GtkWidget *controls) { // The variable controls is a window.
     
      if (event->type == GDK_WINDOW_STATE) {
     
        if (event->changed_mask == GDK_WINDOW_STATE_ICONIFIED) {
     
          gtk_widget_hide(controls) ;
     
          is_pressed = FALSE ; // Variable to control if the controls are shown or hidden.
     
        }
        else {
     
          if (! is_pressed) {
     
            gtk_widget_show_all(controls) ;
     
            is _pressed = TRUE ;
     
          } 
        }
     
      }
     
      return FALSE ;
     
    }
    Quand ont "minimize" la fenêtre principale la fenêtre des controls restent affichés, m€rde !
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo