Forum Programmation.autre Algorithme de disposition...

Posté par  .
Étiquettes : aucune
0
6
nov.
2007
Bonjour,
Je souhaiterais réaliser un afficheur de fenetre "intelligent" qui permettrait de gérer au mieux l'espace disponible et serait très intuitif pour retrouver les fenetres qui ont été ajoutée.

Je suis actuellement à la recherche d'une solution pour réaliser à placer des rectangles dans un fenetre de la manière la plus optimum possible (le moins d'espace inutilisé) avec certaines contraintes. J'ai déjà regardé du coté des algorithmes de style "packing" mais cela ne correspond pas vraiment à mon problème qui est le suivant :

1 - Nous avons une fenetre principal de taille (X,Y).
2 - Nous ajoutons au fur et à mesure des rectangles de taille non prévisible à l'avance (x,y).
3 - Les rectangles ne doivent pas se superposer.
4 - Le rectangle courament cliqué doit apparaitre de manière plus grosse que les autres.
5 - A chaque ajout, les rectangles précédents doivent rester dans la même zone (exemple : si un rectangle a été ajouté vers la gauche, on devrait pourvoir le retrouver toujours vers la gauche)

Je ne sais pas si ce forum est vraiment approprié pour ce genre de questions, mais on ne sait jamais... ;) Si vous avez ne serait ce qu'une orientation à me donner pour mes recherches, je vous en serais vraiment reconnaissante...

Merci et bonne journée à vous !
  • # Petit oublie

    Posté par  . Évalué à 1.

    J'ai oublié de dire que lorsqu'il commence à y avoir trop de rectangle pour l'aire de la fenetre, on peut diminuer les fenetres en gardant le ratio de leur propotion...
    • [^] # Re: Petit oublie (en fait 2 ou 3 petits oublis)

      Posté par  . Évalué à 1.

      pour quel outil :
      Xorg ? pour un gestionnaire graphique
      html/javascript/flash/ajax ? pour mettre dans site web

      bon en meme temps mes question sont betes, vu que tu cherches un algorythme.

      il me semble que certains outils sous X11 (gestionnaire graphique gnome/kde/enlightenment ou autre) proposent ce genre d'options.

      du coup en prenant la source de ces outils tu dois avoir des exemples de code et donc des algos...
      • [^] # Re: Petit oublie (en fait 2 ou 3 petits oublis)

        Posté par  . Évalué à 3.

        bon en meme temps mes question sont betes, vu que tu cherches un algorythme.

        Heu... c'est bien "algorithme" non ?
        • [^] # Re: Petit oublie (en fait 2 ou 3 petits oublis)

          Posté par  . Évalué à 1.

          Oui c'est cela... J'ai vu que ratpoison avait l'air de faire un peu ce que je recherche... Là j'essaie de regarder le code en profondeur, c'est pas évident, en fait, je voudrais juste comprendre le principe pour repositionner les fenetres lorsqu'il y en a une nouvelle qui est ajoutée...
          • [^] # Re: Petit oublie (en fait 2 ou 3 petits oublis)

            Posté par  . Évalué à 2.

            base de mes cours d'algo...
            "decrire en francais simplifié ce que l'on veut que le programme fasse"

            dans notre cas :
            1°) prendre la taille de la fenetre à positionner
            2°) chercher un emplacement libre
            3°) positionner la fenetre

            chercher un emplacement pourra etre un fonction

            qui par exemple decoupe l'ecran en "une mosaique de petits carrés"
            et qui regarde ceux qui sont occupé et ceux qui sont libres
            et essayé de trouver autant de carré consécutif que la taille de la fenetre à positionner

            enfin c'est une idée comme ca, à froid le matin ;-)
  • # Algo du packing

    Posté par  . Évalué à 2.

    Oui, en fait, j'ai regardé ce genre d'algo, cela s'appelle du packing...
    Maintenant, je voudrais trouver un moyen de pouvoir positionner les fenetres de manière élégante...
    Par exemple, prilivégier un peu l'espace entre les fentres lorsqu'il n'y en a pas beaucoup et faire en sorte que lorsque l'on est obligée de changer la position d'une fenetre, celle ci reste tout de meme dans une zone proche d'avant pour la retrouver facilement...
    Vous voyez le genre, mais je commence déjà à écrire un algo...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.