Menu

#57 Level Tags Manager plugin

None
open
nobody
None
1
2025-09-21
2025-09-01
No

I created this Level Tags Manager plugin, sh3p file attached. The source code is here https://github.com/shlomoswidler/sh3d-level-tags-plugin/tree/v1.0.0 .

A plugin for Sweet Home 3D that adds tagging functionality to levels, allowing users to organize, manage, and control level visibility through a flexible tagging system.

Features

Level Tagging: Add multiple text tags to any level
Tag Management: Add, remove, and edit tags through an intuitive interface
Bulk Operations: Hide/show multiple levels based on shared tags
Level Organization: View all levels organized by their tags
Persistent Storage: Tags are saved with the home file and persist across sessions
1 Attachments

Related

Plug-ins: #57

Discussion

  • Shlomo Swidler

    Shlomo Swidler - 2025-09-01

    (Oops, typo in the ticket name)

     
  • Shlomo Swidler

    Shlomo Swidler - 2025-09-01

    I just updated the UI to be much more friendly. This is version 1.0.5. I'm done unless/until I get bugs reported via the git repo.

     
  • Emmanuel Puybaret

    • summary: Add Leevl Tags Manager plugin please --> Level Tags Manager plugin
    • Group: -->
     
  • Dorin Vatavu

    Dorin Vatavu - 2025-09-09

    Very useful plugin! Congrats!
    Few suggestions:

    1. Make an entry for it in SH3D forum under Developers section.
    2. When click on Show all/Hide all the plugin have to exit.
    3. What if you split the plugin in two different actions:
    4. Levels Tags Management and
    5. Show/Hide Tags Levels
      The second could have also a icon on tool bar and only the right part with tags and levels to easy use.
      Any way you've made a good job!
     
    • Shlomo Swidler

      Shlomo Swidler - 2025-09-09

      Thanks, Dorin. I registered an account and posted a thread to the Developers forum but it doesn't appear there - is there a moderation step for new members?

      An earlier version would close when I hit Show all / Hide all. But my drawing required multiple Show all / Hide all operations each time, so I found it more convenient to hit Esc to close the dialog when I knew I was finished. If people request this feature, I'm happy to add it as an option.

      Thanks for your suggestion about a different way to organize the UI and add a toolbar icon. I will take a look at this when I can.

       
  • Dorin Vatavu

    Dorin Vatavu - 2025-09-09

    Sometimes there it is a delay (1~2 days!!!)
    My suggestion was based on my way of think:
    1.Make the project with many levels.
    2.Organize the levels with tags.
    3.Use this to quickly switch show/hide multiple levels.
    Your suggestions on how to use is very valuable even for the planes with not too many levels (6~10).
    So, I still suggest to have two different actions: one to set the tags and one to use the defined tags.

     
  • Olivier

    Olivier - 2025-09-10

    Thanks Shlomo, I was waiting for such a plugin !
    Works well, however for switching between several level configuration (Tags) , I need to

    • Select all
    • Hide all (to make sure that previous levels visible won't stay visible)
    • Select a given Tag
    • Show all
      Then I'm sure that only all levels with this tag will be visible

    These 4 operations could be resume in only one if you add a button "Show all only" at bottom of window Associated levels. This will be a great improvement

    On another hand if you can manage language and set you plugin under 'Outils' instead of 'Tools' for french guys, will be very nice

    Last I agree with dorin on the two different actions , will be very nice to have a tool bar icon with list of tags and by selecting one to have "Show all only"

    Thanks for all

     
    • Shlomo Swidler

      Shlomo Swidler - 2025-09-13

      Hi Olivier,

      I am not confident in my rusty high-school French to translate the resources :). But I can add a translation to the bundle if you would like to give it a try! The source file is here

      Hmm, I hadn't thought of using the plugin for Show All Levels / Hide All Levels because that can be done in the app already. Let me look and see how I might add that.

       
      • Olivier

        Olivier - 2025-09-13

        Hi Shlomo,
        I did a fork on source file with a french translation

        About Select all and Hide all , I did it with the 2 respective buttons on your interface. The objective was to make sure that before selecting a tag on your interface, I won’t have any residual levels shown that will add-up to the selected tag’s levels under SH3D. It is the reason why i was proposing an extra button ”Show all only’ that will show all associated levels and only these one (all the other levels in SH3D hidden)

        Hope I’ve been clear enough, otherwise don’t hesitate
        Thanks & Best Regards

        Le 13 sept. 2025 à 06:56, Shlomo Swidler shlomo_swidler@users.sourceforge.net a écri

        Hi Olivier,

        I am not confident in my rusty high-school French to translate the resources :). But I can add a translation to the bundle if you would like to give it a try! The source file is here https://github.com/shlomoswidler/sh3d-level-tags-plugin/blob/main/src/LevelTagsPlugin.properties
        Hmm, I hadn't thought of using the plugin for Show All Levels / Hide All Levels because that can be done in the app already. Let me look and see how I might add that.

        [plug-ins:#57] https://sourceforge.net/p/sweethome3d/plug-ins/57/ Level Tags Manager plugin

        Status: open
        Group:
        Created: Mon Sep 01, 2025 01:35 AM UTC by Shlomo Swidler
        Last Updated: Wed Sep 10, 2025 05:31 PM UTC
        Owner: nobody
        Attachments:

        LevelTagsPlugin.sh3p https://sourceforge.net/p/sweethome3d/plug-ins/57/attachment/LevelTagsPlugin.sh3p (29.3 kB; application/octet-stream)
        I created this Level Tags Manager plugin, sh3p file attached. The source code is here https://github.com/shlomoswidler/sh3d-level-tags-plugin/tree/v1.0.0 https://github.com/shlomoswidler/sh3d-level-tags-plugin/tree/v1.0.0 .

        A plugin for Sweet Home 3D that adds tagging functionality to levels, allowing users to organize, manage, and control level visibility through a flexible tagging system.

        Features

        Level Tagging: Add multiple text tags to any level
        Tag Management: Add, remove, and edit tags through an intuitive interface
        Bulk Operations: Hide/show multiple levels based on shared tags
        Level Organization: View all levels organized by their tags
        Persistent Storage: Tags are saved with the home file and persist across sessions
        Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/sweethome3d/plug-ins/57/ https://sourceforge.net/p/sweethome3d/plug-ins/57/
        To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/ https://sourceforge.net/auth/subscriptions/

         

        Related

        Plug-ins: #57

        • Shlomo Swidler

          Shlomo Swidler - 2025-09-13

          I see you forked the repo, but your changes are not on github. Did you push the changes to origin? Once you do that you can create a Pull Request and I'll check it out.

           
          • Olivier

            Olivier - 2025-09-14

            Shlomo,
            I’m not familiar with Github. Rather than doing something wrong, please find in att. the raw file of LevelTagsPlugin.properties translated in French

            Cheers

             
            • Shlomo Swidler

              Shlomo Swidler - 2025-09-16

              Olivier, here is a version 1.0.6 release candidate that includes the French .properties file. Please let me know if it works for you, and I'll cut an official release if it does.

              By what name would you like to be credited in the source code?

               
              • Olivier

                Olivier - 2025-09-16

                Shlomo,
                Works very well, thanks

                However I found 2 dialogs that are not localized
                In case you want to also localized these , hereunder is a translation
                Remove all tags dialog (levels panel)
                'Confirm Remove All Tags' -> 'Confirmation ôter tous les tags'
                'Remove all tags from {0} selected level(s)?' -> 'Oter tous les tags des {0} niveau(x) selectionné(s)?
                Delete dialog (tags panel)
                'Confirm Delete Tags' -> 'Confirmation suppression des tags'
                'Delete the following tag(s)?' -> 'Supprimer les tags suivants ?'
                ‘- {0} ({1} levels)' -> ‘- {0} ({1} niveau(x))'

                I’ve also change my mind on plugin name translation, initially I thought to keep original english name, but looking at other plugins, by homogeneity, I think it is better to translate, so you can change in LevelTagsPlugin_fr.properties the 2 lines
                MANAGE_LEVEL_TAGS.NAME=Gérer les tags de niveau
                levelTagsDialog.title=Gérer les tags de niveau

                Finally I’ve noticed that due to french being very verbose , the intersection button (Associated levels panel) appears only if you size up the window , so I propose to remedy this by doing following translation changes
                panel.associatedLevels=Niveaux associés (tags selectionnés)
                radio.unionMode=Union
                radio.intersectionMode=Intersection

                I also noticed that you inherit the version from base properties file : perfect

                You can credit me (if you really want :-)) under name 'Olivier Oudin' (Same as used by Plugin manager)

                Last, what do you think about adding a button under Associated Levels panel : 'Show All Only’ (in French ’Tout afficher exclusif’) ?
                (For my usage it is a must have of your plugin)

                Cheers

                 
                • Emmanuel Puybaret

                  I would suggest to use "supprimer" rather than "ôter" which I never saw in a program.

                   
  • Olivier

    Olivier - 2025-09-16

    Emmanuel, on another hand "supprimer" can also be ambiguous as you don't delete the tag , you only diassociate the tag from a level. . I've translated 'delete' by "supprimer" when you really delete the tag, and by 'ôter' when you diassociate. On top in UI 'ôter' is shorter than 'supprimer'. By the end of the day, I don't really mind, Cheers

     
  • Shlomo Swidler

    Shlomo Swidler - 2025-09-21

    Olivier, I incorporated your ideas into the latest release:
    https://github.com/shlomoswidler/sh3d-level-tags-plugin/releases/tag/v1.0.6

    Added

    • Add Show Only These button
    • Add French localization (credit: Olivier Oudin)

    Changed

    • Build system now generates versioned artifacts (e.g., LevelTagsPlugin-v1.0.6.jar)
    • Enhanced clean target to remove all versioned build artifacts

    Feedback welcome.

     
    • Olivier

      Olivier - 2025-09-21

      Shlomo;
      Very good job and nice plugin

      Some remarks :

      • Version at right bottom of the window is v1.0.5 (should be v1.0.6)
      • 'Afficher seulement ceux-ci' is so long that you need to size up a lot the window to make it appear, May be this button will be better placed under the 2 others

      In the future, cherry on the cake will be Dorin’s idea implementation ; an icon that will allow to chose a tag and show only levels associated

      Thanks and BRAVO !

       
  • Shlomo Swidler

    Shlomo Swidler - 2025-09-21

    Latest version (1.0.7) has those two bugs fixed.

    Changed

    • Relocate Show Only These button - now in a row by itself
    • Fix status bar version number display - now read from Application.properties
     

    Last edit: Shlomo Swidler 2025-09-21
  • Olivier

    Olivier - 2025-09-21

    The link was not working , I've found it here. Thanks a lot Shlomo, all is perfect.

     
    • Shlomo Swidler

      Shlomo Swidler - 2025-09-21

      Oops. Edited my post to have the correct link to the latest.

       

Log in to post a comment.

MongoDB Logo MongoDB