openstudiocoalition / OpenStudioApplication

The OpenStudio Application is a fully featured graphical interface to OpenStudio models including envelope, loads, schedules, and HVAC.
https://openstudiocoalition.org
Other
119 stars 22 forks source link

Organize HVAC library by category #123

Open macumber opened 6 years ago

macumber commented 6 years ago

https://openstudio.uservoice.com/forums/308629-openstudio/suggestions/10473030-organize-hvac-library-by-category

Since 1.9.0, the quantity of available library objects when viewing the "HVAC System" makes it really hard to find an object. It'd be great to categorize the objects, for example following the EnergyPlus "Groups" (in the I/O documentation, or when using IDF editors)

You'd have a group for "Setpoint Managers", with all possible setpoints managers under it. One for "Fans" which all fans under it, one for Pumps, one for Condenser Equipment (Cooling Towers, Fluid Coolers, etc)

macumber commented 6 years ago

From @jmarrec: the E+ Idd has a \group thing which we could use as a starting point. all IDD objects between two \group statements belong to the group referenced above. this is used by the IDF Editor

image

aaron-boranian commented 6 years ago

Migrated from UserVoice

ghost commented 3 years ago

Hello: I'm interested in this issue (good first issue) C++ level: beginner Thank you

macumber commented 3 years ago

Hi @damianCaceres that is great! The first thing to do is to get your build environment set up. Have you been able to clone the repo and build locally (see https://github.com/openstudiocoalition/OpenStudioApplication/wiki/Configuring-OpenStudio-Application-Build-Environments)? After that you will want to make a personal fork of this repo where you can commit your work. Let me know when you get those parts done and we'll get in touch with some tips on where to start making changes.

ghost commented 3 years ago

I've built and install successfully OpenStudioApp, develop branch alfa tag. The App opens without segfault. To be honest, I didn't find the instructions. I make everything from scratch. Obviously I need a few weeks to know the environment and to read the wiki page ... Thanks you. Nice day. Ubuntu 20.04

ghost commented 3 years ago

Good morning I've rebuilt QT5 including the ICU staff. I've selected like icu libraries the system's ones. Later on, I've rebuilt OpenStudioApp, and again I've needed to select the path to the system's icu-libraries. But I didn't specified the icudtl.dat file path, because:

icudtl.dat provides support for International Components for Unicode (ICU). It is the Chromium version of ICU, which is not needed if Qt WebEngine was configured to use the system ICU.

The build given me error. I've selected the icudtl included in the code folder, and OpenStudioApp build, install and open. I remain waiting for the release of the amaizing OpenStudioApp 1.2 Thank you

macumber commented 3 years ago

@damianCaceres 1.2.0 should be out shortly. In the meantime, 1.2.0-rc6 is available for testing and is very similar to the final 1.2.0: https://github.com/openstudiocoalition/OpenStudioApplication/releases/tag/v1.2.0-rc6

I don't know if the instructions changed since you last looked but you should not have to build Qt, we use pre-built Qt binaries as described in this wiki: https://github.com/openstudiocoalition/OpenStudioApplication/wiki/Configuring-OpenStudio-Application-Build-Environments#qt

ghost commented 3 years ago

@macumber Last night I received the news of a positive PCR for covid19. Again I am confined, and I cannot make commitments. Thank you very much for your patience and for such a wonderful program. Bye.

macumber commented 3 years ago

Sorry to hear that, I hope you feel better soon.

Markaeus commented 1 year ago

Hello, this is my first open source contribution and I'd like to take a shot at this one.

macumber commented 1 year ago

Great @Markaeus! We will probably be putting out a release in the November/December time frame. It might be worth considering interaction with a search function similar to that proposed in https://github.com/openstudiocoalition/OpenStudioApplication/issues/562, I was thinking of looking at that one.

Markaeus commented 1 year ago

Sounds good, I'll get started as soon as I get the environment setup. having Conan issues.

manuvarkey commented 2 months ago

@macumber Hi, I would like to take up this enhancement. I have setup the build environment.

Any idea on how to approach the problem ?

macumber commented 2 months ago

Thanks @manuvarkey, I think the new search bar might have reduced the need for this feature a little bit but I will try to give an overview of how this could be implemented.

Does that make sense?

manuvarkey commented 1 month ago

Thanks @macumber.

I made an attempt to implement the feature through the second approach. ModelObjectTypeListView which is subclassed from OSCollapsibleItemList only accepts ModelObjectTypeItem which is subclassed from OSCollapsibleItem.

So I implemented a new OSCategoryPlaceholder class and modified OSCollapsibleItemList to accept OSCategoryPlaceholder in addition to OSCollapsibleItem. addCategoryPlaceholderItem() function was implemented in OSCollapsibleItemList towards this.

ModelObjectTypeListView was modified to add a new function addModelObjectCategoryPlaceholder() which calls the parent class function addCategoryPlaceholderItem().

Further modifications were made to OSCollapsibleItemList::onSearchTextEdited() function to support filtering by category, type and name.

A screen cast of the implemented functionality is given below.

Screencast from 07-05-24 06:15:06 PM IST.webm

I have commited the changes to my fork at https://github.com/manuvarkey/OpenStudioApplication

Please review and give comments on how this implementation can be improved upon.

macumber commented 1 month ago

At first glance your screenshots look great, I tagged this for 1.8.0 release, and I will take a closer look at it when I am able too. Can you make a pull request back to this repo so we can have a place to have any discussion? The pull request will also ask you to provide another contribution consent for this repo. Thanks!