Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document QT related good practices #34

Open
EricBoix opened this issue Aug 30, 2017 · 0 comments
Open

Document QT related good practices #34

EricBoix opened this issue Aug 30, 2017 · 0 comments
Milestone

Comments

@EricBoix
Copy link
Contributor

Issue by frogsapo
Friday Apr 15, 2016 at 10:35 GMT
Originally opened as https://github.com/MEPP-team/VCity/issues/97


Some oddities encountered with QT related code

  • Duplicate settings object ?
  • Don't use settings to piggyback (see also) your data:
    • DialogSettings::doSettings stores the startDate in the settings
    • later on retrieves this startDatevalue to use it.
    • Piggybacking data obfuscates the flow of information and creates hard to track dependencies
  • Concerning Vcity::settings:
    • Is the DataProfile attribute related to a setting ? Is this related to the GUI or not ?
    • Introduce a logical compounding of widgets ?
    • Beyond the QT hierarchy of widgets, the main view of VCity is logically a flat collection of items. Although they are logically related the checkBoxTemporalTools, dateTimeEdit, horizontalSlider and toolButton items are not logically grouped.
    • Is there a good QT practice to regroup logically related objects ? This logical bound is also a place to functionally relate those objects. In our example we could assert that when setting the date (through the model) it falls within the bounds of the slider...
  • How come appGui() (singleton) is known from the plugins although they are not linked across the corresponding core code ? (try some things like nm -a --demangle libCityGMLSunlightQtPlugin.so | grep "U ")
@EricBoix EricBoix added this to the Someday milestone Aug 30, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant