Embedding a scrollable collection of plots in a widget - pyqtgraph

I am trying to write a graphical file dialog for navigating the filesystem and previewing and opening files in the format that is relevant to to my visualisation and analysis program. The idea is to provide a much more efficient way of selecting a file to analyse, than is possible with the standard file dialog. The dialog I want to create should
show directories
show a graphical preview of the data contained in the files which match the format of interest
show (perhaps as a watermark) some textual identification of the file (this might be the filename, or some other information extracted from the file)
not make the elements representing the directories and files too small when there are many of them to be shown (by leaving some of them effectively invisible beyond the limits of the widget)
be navigable (and scrollable when there are too many to be shown at once) with keyboard and mouse
allow selection of directories and files with keyboard and mouse
With the above information describing my broader goal, my specific question is: How can I embed a (potentially large) number of plots inside some widget, with a lower limit on the size of the component plots, and provide the possibility to scroll (using keyboard and mouse) through the whole set of plots (with the widget acting as a window through which only a subset of all the plots can be seen)?

Related

Permanently linking sections of two jupyter notebooks

I have two jupyter notebooks. The middle sections of both are identical, being code to create charts. But for various reasons, the first sections (data inputs) and end sections (the charts themselves) are different.
I want to link the middle sections, so when I change the code for the charts, I can do it in just one file, and the changes will automatically show in the second.
%%writefile in one file and %load to recreate the middle sections works, but isn't a good solution, as I am often revising the charts. Is there a better solution?

Oracle reports output like HTML table from single database cell

Is it possible to create HTML-like table in Oracle Reports (output format: .rdf) based on database cell content ?
Report is big, with lot of content, from which one should be formatted cell content.
What is currently:
current data displayed in ready report - database cell content
What is requested:
what should be displayed
Using HTML formatting in this case doesn't work,
https://docs.oracle.com/cd/E15523_01/bi.1111/b32122/orbr_concepts2008.htm#RSBDR481
HTML tags are very limited for an .rdf report.
Is there any way to achieve this functionality, using another technique?
If you used the Wizard to create a report (you should have; it does a lot of dirty job for you), it also creates layout and puts everything into its place, creating a "grid" (table), something very close to what you need.
Navigate to paper layout editor where you can choose to format lines (cells, frames) - in the vertical toolbar, pick a line color (for example, black). In (horizontal) menu, go to Format menu (and then Line and Border submenus), selecting borders you want (top, bottom, right, left).
Once you're done, run the report and you should see a pretty table.
Saying that "output format is .rdf", that's wrong. Report is saved as a .rdf file, but its output can be, for example, a PDF file.
Never mind that, it was just a side note.

How to get info from a window and the modify it using AutoIT?

I am trying to automate the process of turning display layers on and off in a modeling program using AutoIt. I am currently using code that simply simulates a mouse-click at a particular pixel position and as that of course needs to be set up differently depending on the screen being used at the time, I would like to replace the mouse-click simulation with getting the information from the window, looking for a certain text, then checking or unchecking the "Map" and "Legend" check boxes.
My problem is that I don't know how to do that. If someone has a good way to include or point to screen shots let me know but until then I will try to describe everything the best that I can.
The window:
The window I am referring to is titled "Map Layers". The area that I am specifically interested is looks like a large list box (it takes up the vast majority of the window space) and it has 4 columns: Layer Name, Map, Legend, and Sample. Name has the name of the layer, Map has a check box to control which layers are displayed, Legend has a check box that controls which layers appear in the legend window, and Sample for some layers has the symbol that will appear in the legend. for my purpose the Sample column is irrelevant.
AutoIt v3 Window Info:
When I use the finder tool I can't get it to highlight the "list box" area, only the surrounding boarder that it and some buttons are in. The window info says that this surrounding boarder area (which seems similar to a panel) has a class of Button.
So my fundamental question is what code to use to drill into that "Button", find out what the list view looking thing is, and get the info from it, then interact with the map and legend check boxes without referring to pixel location (or at least grammatically get the pixel position).
If I have left out any important information or was unclear anywhere please let me know.
Edit: Forgot to mention and don't know if it helps but the info given using the finder tool for the column headers is Control: Class: SysHeader32
Try RanorexSpy and see if it can give you more details.

Microsoft Reporting WebForms Report Viewer - Exporting to Excel

I have a report viewer that I am using to export to PDF and Excel. Sometimes some of the data in the tables is longer than a singular line.
When exported to PDF the fields that need more height are automatically given it. Yet when I export to excel it remains in the original height and doesn't grow to display all the data.
I want the cell heights to automatically grow to display all the data on screen. I have set CanGrow to true but this has no effect (apart from working when exporting to PDF).
Has anyone had this problem before and can share a resolution?
Thanks
OK, after not receiving any answers I delved in to this one myself.
It appears that text doesn't wrap in excel when the cell is a number of merged cells together.
So in the report viewer if all text areas and items aren't lined up with one another or if one is twice as long as two others then they will be placed in merged cells to make up for the crossover.
It means that the chances are these isn't a solution to the problem, unless all your text areas are identical in width or you can alter the layout so that those that require wrapping to new lines will only take up a single cell.
I done this by putting everything in a table, and knowing that if I merged any cells then text wrapping would not be possible.
I hope this will help someone out there!

QT4, paginated showing elements

I am going to write an application that uses QT4 (with C++ or python it isnt important in that moment).
One of functionality is "Showing all items in database".
One item has a Title, author, description and photo (constant size)
And there could be very many items. Let's say 400. There won't be enough space to show'em all at once time.
One row will have 200px, so i need at most 4 for once time.
How to paginate them? I have no idea.
I can use limit and offset in SQL queries, but how to tell window: "that's 5th page"?
Any solutions?
First off, you normally do not want to use any manually set pixel widths in any GUI application, if you do, your toolkit sucks (or you must work in game development).
Second off: be more specific.
You'll need to define "page" for your application, namely what a page should be in its context. I assume it is breaking a list of items into separate pages. Normally this is done by using one of the view classes (e.g. QListView or QTableView) to take care of much of the legwork: it's called a scrollbar (not to mention the collapsing folders concept from file managers). Another method is splitting the information across several tab pages (QTabWidget), where each page displays a view of some sort (Perhaps QTextView or one of the M/V or Item view classes).
Same thing can also be done using your own widget stack and some other widget to manipulate the currently displayed page. This is basically how the option dialogs in the TeamSpeak 3 client and most KDE apps work; it's also how wizards with back/next buttons work in concept. I suggest you take a look at this config dialog example
Normally what you want is a view with a scrollbar and or some form of collapsing related entries into categorised information. If you just want to display a list of pages where each page is X entries: use a tab widget or stacked widget.

Resources