-
Notifications
You must be signed in to change notification settings - Fork 96
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
A variety of fixes to the Demo app #808
Conversation
- fixed .css handling - fixed loading of images and other files into HTML - improved UI layout (fewer unused panels) - made initial size more compatible with small screens - better config file handling There is still a lot to be done.
Does this fix #804? I am not able to see the nice welcome image you showed in the screenshot. I am still seeing I tried these two commands: I tried PyQt5 and PySide2. |
Ah... my environment was installed without editable flag. Sorry! Please ignore the previous comment :( |
It doesn't totally fix #804. It should display the image if it is present. It doesn't fix the hard-coded name. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the fixes! I think I understand most of the changes here.
A few questions and suggestions.
elif self.use_files: | ||
if name != "__init__.py": | ||
try: | ||
demo_file = self._handle_file(name) | ||
demo_file.css_filename = self.css_filename |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the two places where _handle_file
is called, this css_filename
is reassigned afterwards. Would it make sense to move the assignment of css_filename
be moved inside _handle_file
where demo_file
is instantiated? This may help preventing this from being forgotten again.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I realized that this line raises an exception (hard crash the application) if the file extension is not ".py" because the css_filename
is undefined for classes such as DemoContentFile
.
This happens when I run the tutor.py
with examples/tutorials
and click on the "Doc Examples" (doc_examples.rst
) node.
Looks like css_filename
should be defined in DemoFileBase
together with description
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should hopefully be resolved now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Don't know if you want to handle this too (sorry for commenting two things on the same line again):
Would it make sense to move the assignment of css_filename be moved inside _handle_file where demo_file is instantiated? This may help preventing this from being forgotten again.
This PR will need to merge master in to get the latest CI build configuration. |
|
||
#: Name of the directory: | ||
name = Str() | ||
|
||
#: UI form of the 'name': | ||
nice_name = Property() | ||
|
||
#: Description of the contents of the directory: | ||
description = Property(HTML, depends_on="_description") | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oops, looks like this one needs to stay actually. DemoPath
does not subclass DemoFileBase
and the description there is not a property.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shifted to above, but fixed.
elif self.use_files: | ||
if name != "__init__.py": | ||
try: | ||
demo_file = self._handle_file(name) | ||
demo_file.css_filename = self.css_filename |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Don't know if you want to handle this too (sorry for commenting two things on the same line again):
Would it make sense to move the assignment of css_filename be moved inside _handle_file where demo_file is instantiated? This may help preventing this from being forgotten again.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just one more change needed. Otherwise LGTM.
Co-authored-by: Kit Choi <kitchoi@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
A variety of fixes to the Demo app
* Fix the back button in the demo. (#799) * Fixes for Qt DatetimeEditor (#803) * Fixes for Qt DatetimeEditor. * Fix handling of changes to editor bounds. * Remove commented out code from editor example. * And remove corresponding imports. * Missed file with explicit defaults. * Fixes to min/max and value out of range handling. * Remove NameError and add default root_dir to tutor.py (#813) * Remove NameError from tutor.py * Take current directory as default * Relax argument number constraint * Rewrite nose tests to use unittest (#809) * Rewrite nose tests to use unittest * Rewrite remaining bare test functions * Remove print statements from unit tests * Replace assertEquals with assertEqual * Fix error due to comparing None with int (#969) * Use unittest discover instead of nose.core (#810) * Merge pull request #829 from enthought/fix/ui-panel-alignment Remove align centre which was causing problems * Merge pull request #808 from enthought/fix/demo-fixes A variety of fixes to the Demo app * Add more tests for Enum Editor (#836) * Add more tests for Enum Editor * Add wx EnumEditor tests * Add missing skipif decorator * Add issue references to FIXMEs * Address review comments * Add check list editor tests (#837) * Add check list editor tests * Add wx tests for check list editor * Simplify helper functions * Add issue references to FIXMEs * Address review comments * Don't rely on empty list behaviour with combobox editor * Add temporary fix to prevent wx test interactions * Add set editor tests (#838) * Add set editor tests * Simplify helper functions * Add wx tests for set editor * Add issue reference to FIXME * Address review comments * Expand ordered flag tests * Add image enum editor tests (#845) * Add tests for image enum editor * Docstring fixes * Address review comments * Skip tests that don't cleanup properly due to editor issue * Remove unreliable image_cache checks * Skip problematic tests on linux * Address review comments * Move value mapping from factory to individual editors (#848) * Move value mapping from factory to individual editors * Remove factory mapping references from image enum editor * Remove unused wx helper function * Address review comments * Remove test FIXMEs * Use instantiated tookit * Merge pull request #850 from enthought/fix-demo-app-description-for-folder Fix Demo application description if __init__.py or traits_ui_demo.jpg are not found * BUG: Correctly implement auto-add functionality in ListStrModel. (#860) * Move format_func, format_str and invalid traits from factory to editor (#859) * Move format_func and format_str from factory to editor * Move invalid from factory to editor as invalid_trait_name * Merge pull request #871 from enthought/fix/segfault-row-reorder FIX: Make sure new_row is positive * Merge pull request #873 from enthought/maint-tabular-model Maint: Normalize row index in TabularModel * Make sure all UI in tests are disposed (#865) * Dispose ui in test_visible_when_layout * Wrap test with create_ui, and store_exceptions_on_all_threads * Dispose ui and wrap it under store_exceptions... for test_ui * Use create_ui in test_color_column * Wrap tests with create_ui and store_exceptions_on_all_threads * Dispose ui in test_actions * Consistently dispose UI with create_ui in test_code_editor * Skip two tests on wx that fail on its own * Dispose UI in test_table_editor; these tests are failing on their own * Remove skips; it was the developer's fault in not refreshing their devenv * Dispose UI in test_csv_editor * Make sure dispose must be called in test_date_editor * Make sure dispose is called in test_date_range_editor * Make sure dispose is called in test_datetime_editor * Dispose ui in test_instance_editor * Dispose ui in test_liststr_editor_selection * Dispose ui in test_range_editor_spinner * Dispose ui in test_range_editor_text * Dispose ui in test_tree_editor * Dispose UI in test_tuple_editor * One more in test_data_frame_editor * Remove additional store_exceptions_on_all_threads as they are orthogonal changes * Experiment removing skips that were added due to test interactions * Revert "Experiment removing skips that were added due to test interactions" This reverts commit 7466c03. * Try removing another workaround * Revert "Try removing another workaround" This reverts commit 090c75c. * Revert inconsequential change to test_color_column * Add close back just because it was there before - not sure if it is still needed. * Add more TabularEditor tests (#874) * Add more tests for Tabular Editor * Minor wx TabularEditor fix * Add brief explanation about Rows flag * Add more ListStrEditor tests (#869) * Add more tests for ListStrEditor * Minor wx ListStrEditor fix * Add gui.process_events to fix pyface2 errors * Rename TestListStrEditor with adapter test to TestListStrAdapter * Add docstrings and clarification comments * Skip tests on Windows due to potential test interactions * Fix clear_selection usage * Fix bad TraitListEvent in ListStr and Tabular Editors (#875) * Fix bad TraitListEvent in ListStr and Tabular Editors * Remove test FIXMEs * Fix unexpected format_func in RangeEditor bug (#900) * Accept format_func, format_str and invalid parameters with RangeEditor * Add a test to verify same behaviour * Use kwargs in the signature * Alternative fix to TabularAdapter crashes when column number reduces (#897) Co-authored-by: Federico Miorelli <FedeMiorelli@users.noreply.github.com> * Fix eerror when the columns number is reduced * Workaround slot being called after the UI is disconnected * destroy control (later) in dispose to prevent slots being called after dispose * Revert "destroy control (later) in dispose to prevent slots being called after dispose" This reverts commit 8bb6abd. * Fix issue number in comment * Update test name and comments * Rework test comment * Rewrite comment and run process_events so that bug appears independently of the workaround * Add links from TabularEditor and TreeEditor to adapter docs (#917) * Add links from TabularEditor and TreeEditor to adapter docs * Fix tree node ref * Fix Theme pickling (#915) * Check toolkit before wx import + tests * Address review comments * Merge pull request #846 from enthought/maint-test-non-null-toolkit-layout-labels TST: Add tests for layout and labels using any non-null toolkits (cherry picked from commit 4398b3d) Co-authored-by: Ieva <ievacerny@users.noreply.github.com> Co-authored-by: Kit Choi <kitchoi@users.noreply.github.com> Co-authored-by: Robert Kern <rkern@enthought.com> Co-authored-by: Kit Yan Choi <kchoi@enthought.com>
There is still a lot to be done, but this makes the experience better.
New directory page layout:
New example page layout: