-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathPatchlog.txt
671 lines (567 loc) · 38.4 KB
/
Patchlog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
v0.10.2: Simple Differential Equation Support
+ The Calculator now supports differential equations (only general solution)
++ (Differential Equations will get their own tab for more complex tasks like particular solution)
+ The start-up-message is now displayed before the modules load to give feedback to the user that the program is loading.
+ You can now copy the x and y values for a plot with the context menu in the history if the advanced mode is enabled
+ Added a Patchlog.txt
v0.10.2.1: Better Differential Parser
+ The parser now supports y'(x) with y being any function (including sin etc.), ' being ',''," or ''' and x being any single unicode letter
v0.10.2.2: Bug Fix
+ Fixed a bug where ''' and '' were not correctly parsed
+ Improved handling of ODE's that do not include a "="
v0.11.0: Particular Solution
+ First Support for solving the particular solution of linear differential equations
++ (WIP: Needs Testing) (see InputExamples.txt for examples
+ You can now display the LaTeX version of the Solution of a history item via the context menu
v0.11.1: Always on Top
+ Added a checkbox to the options to try to force the Window to always stay in the foreground
++ Does not work always since this is only a request to the window manager which does not always grant this
+ When calculating an ODE the classifications are displayed in the console
v0.11.1.1: Start of Flag implementation
+ Start of Flag implementation
++ This has the effect that the output is easier to read
v0.11.1.2: Fix for Convert Button
+ Convert Button on Tab 2 works again
v0.11.1.3: Highlighting in LaTeX Input
+ The LaTeX input now highlights pairs
+ Differential equations without conditions now print their classification in the console, too.
+ Bools as the result of a function no longer raise an exception bit instead are displayed
+ "ans" is only replaced with the previous solution if it is not part of a word.
++ This means that you can Laplace transform (since the word transform was previously ripped apart...)
v0.11.1.4: Preparation for MultiDim Parser
+ First preparation for parsing things like matrix multiplication and Transposing matrices
v0.11.2: Better LaTeX Parser, better Derivative Input and new Test-Method
+ The LaTeX input is no longer evaluated but instead displayed as the user intended it
++ Use (expr).doit() to combine Matrices in the expression
++ Use evalf (just type it ANYWHERE) to evaluate everything
+ Added a test method that is executes many testinputs when typing "RUNTEST" in the calculator input
+ Added support for dots as derivatives
+ When a function without a variable is differentiated it is assumed x for ' and t for the dot
v0.11.2.1: Evalf for LaTeX
+ Most inputs now use the Evalf Flag to decide whether to Evaluate when converting to
v0.12.0: Keyboard Remapper Beginning
+ AltGr+1 now types ∫ , AltGr+3 now types √ , AltGr+p now types π
+ AltGr+Shift+Number types the number as subscript
v0.12.0.1: Streamlined Keyboard Remapper
+ Merged the two Remap lists
+ (Remapper is now has unused function to toggle it)
v0.12.0.2: Bug Fix and Top Bar
+ The Remapper is now really Toggable
+ The checkboxes for the Remapper and the Syntaxhighlighter are now in the bar where the Font Size Spinbox is to make them more accessible
+ Added Hotkeys to some options
v0.12.0.3: Remap Table Filled
+ The Remap Table is now filled with my custom layout for my Linux Laptop
v0.12.0.4: Bugfix
+ Fixed 2 Entries in the Remap Table
+ The MICRO SIGN (U+00B5) "µ" is now interpreted as GREEK SMALL LETTER MU (U+03BC) "μ" by the parser
v0.12.0.5: Bugfixes
+ Fixed ans not being replaced by last answer
+ Caused a memory leak to prevent random crashes as the memory leak is small enough to ignore it...
++ This does not make me happy and is a temporary solution but I NEED to stop the crashes... I hate QThreads...
+ Disabled option to not eval when converting to LaTeX for now due to unexpected bugs in sympy library...
v0.12.0.6: Bugfixes: Evaluate LaTeX
+ Reenabled Eval for LaTeX but gave it its own checkbox.
++ When the tick is not set a script is run independently from AMaDiA to convert to LaTeX
+++ This ensures that "with sympy.evaluate(False):" does not mess up everything (since it behaves odd when used in multithreaded Programms)
v0.12.0.7: Bugfix: Combining dot above for Windows
+ Fixed the keyboardremap for the combining dots above for ATextEdit and derived Classes.
++ It is still broken in all other cases since Windows is stupid...
v0.12.0.8: Preparation for Colour Changing
+ Restructured everything about Colours and Fonts in preparation to make these things changeable during runtime
v0.12.0.9: LaTeX Eval Tristate
+ The Eval checkbox on the LaTeX tab is now tristate:
++ Do not evaluate everything
++ Evaluate some things
++ Set Evaluate=True when parsing with SymPy
+ Fixed a bug that caused a crash when plotting fails
+ The Advanced Mode now allows you to try to plot everything from all tabs
v0.12.1: Exception Notification
+ When an Error occurs the user is now notified in the main window
++ A short Description is displayed as a tooltip when hovering over the message
++ Only the most recent Error, Warning or Notification is displayed. For older Errors and warning look in the console.
++ Not all exceptions are displayed in the main window. For all exceptions and more details you still have to look in the console.
v0.12.1.1: More Notifications
+ Added more Notifications
+ Converted the Comments that described the functions and methods into strings to allow VSC to display it in the quick info
+ Fixed a crash wehen AMaS.Exists != True
v0.12.1.2: AMaS notifications
+ AMaS can now return notifications when successful (Previously only when not successful)
v0.13.0: Chat
+ Added my simple chat program
++ You can use it to send text and text files over LAN connections
++ The implementation is not final.
++ The messages are not encrypted! Do not send sensible data
v0.13.1: New Paint
+ Added the option to choose between 2 Colour Palettes: Dark and Bright
+ The Chatwindows take the colour of the main window when they were opened
v0.13.1.1: Bugfix
+ Fixed a bug that would crash everything when trying to send a message from the Chat Server
v0.13.1.2: Bugfix
+ Fixed: Notifications in Bright Mode were resetting the background colour to the Dark Mode. Now the Bright Mode stays bright.
v0.13.1.3: Canvas Paint
+ When changing the colour all Canvas elements automatically refresh their colour
v0.13.1.4: negative power
+ The parser now supports ⁻¹,⁻²,...,⁻⁹,⁻⁰
+ The parser now supports ᵀ to transpose a matrix
+ All trailing zeroes are now removed from all numbers
v0.13.1.5: Inactive Plot Colour
+ Fixed the colour of inactive plots in bright mode
v0.13.1.6: Copy Notifications
+ Double-clicking the notification now copies it to the clipboard.
+ If LaTeX or Control are not installed the user now gets a notification.
v0.13.1.7: UI Preparation
+ Added Tab 5 for System Control
+ Added a tab widget to tab 3 in preparation for 3D-, Complex- and nD- Plotter
v0.13.1.8: Full Screen
+ F11 toggles fullscreen
+ Added the control library to the new External_Libraries folder
+ Added "How to install" to the readme and added 2 batch files to make installation and Running/Updating easy on Windows
v0.14.0: Assuming Direct CONTROL
+ New Tab: Control Tab
++ This tab is all about System Control
++ Input transfer function or state system to plot all associated plots
++ Double-click a plot to make it larger
++ Better Input and more output coming soon
+ (User Request) The LaTeX process is now started at the same time as AMaDiA to make the first display lass annoying
v0.14.0.1: 2nd Control Example
+ Added a 2nd Control Code Input Example to show a syntax for state space input
v0.14.1: Housecleaning
+ Cleaned up AMaDiA Folder by moving most code into a sub folder
++ Adjusted imports accordingly
+ Changed the Threading to use a Threadpool and worker classes
++ This Fixes the memory leak and prohibits that too many threads are active at the same time
++ The Threading mode can be changed back in the options menu
+ The Control Tab can now plot a system response for a specific input function
+ Some text files are now accessible from the UI
+ Temporarily disabled the Sympy Plotter because the control tab has broken it for unknown reasons...
++ Fixing this might take a while...
+ Streamlined folder-detection
v0.14.2: Super Plotter
+ The 2D Plot can now plot much much more reliable
++ x*exp(x) and ∫sin(x)+√(x)dx*sin'(x) are no longer a problem!
+ The SymPy Plotter will (probably) remain dead as it is not worth to fix it.
++ When the sympy plotter plots it also tries to plot all other pyplot plots
+++ This means that it makes it impossible for me to use pyplot anywhere else...
++ The sympy Plotter was never designed to be used in a GUI application anyways and the AMaDiA plotter looks better anyways.
++ Instead of trying to work around the badly implemented sympy plotter I will instead use the time to improve the AMaDiA plotter.
+ Added some comments to let VSCodes error-detection know that my code is correct and does not need to glow red and yellow...
v0.14.2.1: WIP Cleanup
+ Disabled the input tab in the control tab and removed the WIP tab in the Plot tab.
++ They should not be interactable to not confuse the user as they are currently blank
++ These were added to make future development easier as UI reworks can be a lot of work
v0.14.2.2: Welcome
+ When no message needs to be displayed on start the program now welcomes the user by username
v0.14.2.3: List Solve Fix
+ Lists are no longer processed with sympy.solve (as solving a list returns an empty list)
++ This means that "solve(a*x^2+b*x+c*1,x)" (which creates a list) no longer needs "Eval Functions" to be turned off!
v0.14.2.4: Control Input Development 1
+ UI part of the Input Tab in the Control Tab is now done.
++ Tab is still disabled since most of the functionality is not implemented yet.
+++ Changed "Reload Modules" to temporarily enable the Tab instead of reloading Modules
v0.14.2.5: Control Input Development 2
+ Fixed Error Display when System name is invalid
+ When changing the Order the columns for the Transfer Function are now added/removed from left instead of right
v0.14.2.6: Control Input Development 3
+ Renamed "Reload Modules" to "Dev Function"
+ More work on the Control input Tab
++ Added 4th input method that accepts a transfer function in most forms without the need to isolate the coefficients
v0.14.2.7: More Bode Phase Lines
+ The big version of the Bode plot has now more major y-ticks for the phase to increase readability
v0.14.3: Notification History and Better Keyboard Remapper
+ Made the alternate plotting value calculation throw an error in most cases in which it can't guarantee a correct plot
+ The Notification tooltip is now instantaneous and clicking on it opens the Notification History
++ The Notification History is updated for new notifications automatically
+ The Keyboard Remapper handles AltGr better and seems to win the fight against evil Windows most of the time
+ First implementation of superscript (^1 now prints ¹ when you are quick)
+ Improved the layout of the Dark Theme class in AMaDiA_Colour.py
v0.14.3.1: Synchronous Appearance
+ The Colour of all open sub-windows now changes when the colour of the main window is changed
+ The font size of all open sub-windows (except chat server and client) now changes when the font size of the main window is changed
v0.14.3.2: Error Button
+ After questioning some testers it seems that the Error label was not intuitive thus it is now a button
++ To make it even more intuitive the button now as a corresponding icon
v0.14.4: QoL
+ The Control Tab now tries to plot all plots independently and does not give up all if one fails
++ This means Bode/Nichols/Nyquist/pzmap of all systems can be displayed, even if the system response can not.
+ Tables no longer loop to the start/end but instead go to the next widget with tabulator
+ Textfields now use tabulator to select the next widget
+ Fixed multiline syntaxhighlighting for textfields
+ Control/Input/Transfer: return now selects next relevant field
+ Control/Input: The save buttons are now part of the upper splitter (as this makes immensely more sense)
+ Identified two colours (Light and Dark) and fixed the colour of the lines in Plotter/2D/Config
v0.14.4.1: Tab Hotkey
+ ctrl+NUMBER now changes between the main tabs
+ The Chat no longer crashes everything when no Networkconnection can be established
v0.14.4.2: Local Keyboard Remapper
+ The old Keyboard Remapper is working on all applications and is getting more and more stable but has its quirks
++ It is now located in the Options
+ A new local ( = only works in AMaDiA ) Remapper has taken the Top Bar Checkbox
++ This Remapper is much more stable, activated per default and works in all AMaDiA Windows
++ This Remapper does not need to be executed as root on Linux
++ The intention is not to remove the global Remapper but to supplement it
v0.15.0: Custom Window Frame
+ Added all functionality from the standard window frame into the main window
++ The main window makes a requests to the OS to not have a frame but the OS may deny this request
+ All elements from the main window are now more compact
+ Updated the AMaDiA.bat to close the console properly when Anaconda is installed in the User Folder
v0.15.0.1: Smoother Corner Buttons
+ The buttons to minimize/maximize/close are now visually integrated
v0.15.0.2: Deep Red
+ The Close button now shines in a deeper red
+ The Statusbar now displays the Window title on startup
+ The TopBar_Widget is now independent of the Main Window class and can thus be used for all windows
v0.15.0.3: Performance
+ Sped up the checks in the event filters to increase performance
+ Laid implemented new window frame for all subwindows except the chat
++ The new window frame on the subwindows is currently turned off as a differently coloured window border seems necessary
v0.15.0.4: Placeholder Functions
+ Added a placeholder function to zoom into the Single-Plot-view in the Control Tab
+ Prepared the removal of the Menubar and moving all its current function to the TabWidget's TabBar
v0.15.1: Even More Compact
+ The MenuBar is now compressed into one Button and the TopBar is now on the side of the TabBar
++ The old design with easy menu access is still implemented and will be toggleable in the future (current attempts failed)
+ Most context menus are now coloured and use the correct font
+ The MultiDim output now always displays something, even if it can't convert the solution to LaTeX
v0.15.1.1: Nyquist Distinction
+ The Nyquistplot now distinguishes between the primary and the mirror plot
v0.15.1.2: Further steps to toggle Compact Menu
+ Compact Menu will soon be toggleable
v0.15.1.3: Toggleable Compact Menu
+ The Compact Menu is now toggleable with Alt+C or using the Menu
+ The TopBar behaves much more smoothly
+ CloseButton now reaches all the way into the corner as a proper close button should
v0.15.2: Control Single Plot Zoom
+ You can now zoom into the Single Plot View in the Control-Tab
+ Split up the TODOs into 10 subcategories to get more out of the "Todo Tree" extension for VSC
v0.15.3: Palette and Font setting overhaul
+ Redid everything about Font and Palette setting to be based on an application-level (instead of per window)
++ This means more consistent behaviour and less work in the future
+ Changed the handling of notifications from window to Application level for easier handling
+ Added a scrollbar to Control-SingelPlot-ZoomFunction to allow smaller sizes for the window
v0.15.3.1: Fix for Error Notifications
+ Fixed the update of text and tooltip for the TopBarErrorButton when an Error-notification is send.
v0.15.3.2: Bugfix and Center-Hotkey
+ Fixed a crash that was caused when a notification that is only visible in advanced mode was send
+ ctrl+0 now centres all windows and resizes them
++ This is useful if the resize or move fields are outside of the screen which would require a restart of the application
+ Added 2 new entries to BUG-INPUT.txt
v0.15.3.3: Beginning of AMaS Rework and typo correction
+ Started to rework AMaS
+ Corrected all typos in the code
v0.15.3.4: TopBar init change
+ The __init__() from TopBar_Widget now takes 4 bools to call its init()
++ When using TopBar_Widget in QtDesigner one can add a layout and other widgets to the TopBar_Widget
+++ init() must be called after adding a layout thus the __init__() and init() must be separable
v0.15.3.5: Folder Creation improvement
+ Thanks to exist_ok=True creating a folder no longer raises an exception which must be ignored
++ This means that the code can now be simplified
v0.15.4: Multithreading save Notifications
+ Added a new function that can send notifications
++ This new function is multithread save and can be called from anywhere without any concern
+++ This allows me to revolutionize the notifications in future updates as I am no longer limited to sending signals from QThread/QRunnable
+++ The same method can be used to send other data to other windows and widgets and offers great flexibility in the future
v0.15.5: More readable Output and recent Notifications
+ The solution part of the output in the calculator is now inverse parsed to make it easier to read
++ The not-inverse-parsed solution is accessible via the "Copy Solution" option in the context menu
++ To ensure that the inverse parse makes no mistakes it is only used if parsing it again is equal to the original solution
+ The classifications of ODEs are now displayed as a notification
+ Removing trailing new lines and spaces from all notifications
+ When many notifications are send at the same time they are all displayed in the tooltip
++ The icon is set for the highest priority notification in the tooltip
++ The colour of the flash is for the latest notification that managed to start the flash-animation
+++ Note: When the flash-animation is currently running the start of a new flash-animation can fail
v0.15.6: Proper Window Frame
+ This update completes the custom window frame as all standard frame features are now implemented
++ Note: The size of (and effort that went into) this update would normally make it update 0.16.0
+++ As it completes goals of "v0.15.0: Custom Window Frame" I have decided to keep it as part of v0.15
+ Made custom Window-class that is now used by all windows except for the chat (Chat will be reworked in the future)
++ Has a proper frame around everything including MenuBar and StatusBar
+++ This frames makes the end of the window visible and allows me to use it for all windows without confusing the user
+++ Dragging the frame resizes the window
+++ Frame hides if window is maximized or in full-screen-mode
++ All windows (except chat) now have a global font size spin box
+ The MenuBar and the main TabBar now allow to move the window
+ When moving a window that is maximized or in full-screen-mode it first exits this mode
+ When moving a window to a corner/side of the screen it now fills it
+ The 'Copy Solution' context menu action is now at the very top
v0.15.6.1: Degree Support
+ Added support for degree "°"
++ "/°" converts to "*(360/pi/2)" and "°" converts to "/(360/pi/2)" thus ° converts a number to degree and /° to radiants
v0.15.6.2: Tab 5 Input Tab Bug Fix
+ Fixed a bug that caused the Save Button in the Input tab in tab 5 to not detect the current input method (TF,SS,etc.)
v0.15.6.3: Resizing Optimization
+ Reworked the resizing of the window to work reliable and smooth.
v0.15.6.4: More Windows
+ It is now possible to open several instances of AMaDiA_Internal_File_Display_Window as long as their files are different
++ This means that you can open the Examples and the Helpful Useable Commands at the same time!
++ If a window for a specific file name is opened twice the old instance is closed
+ The font size spin box now initializes with the correct font size for new windows
+ Each window now saves its standard size
++ This variable is applied when using "ctrl+0" and currently has no other use
v0.15.6.5: Tiny Fix
+ Control/Input/Transfer: Fixed the removal of leading entries that are 0
+ Fixed some typos in the patchlog
v0.15.7: Window Titles, Menu Fixes and Dev Functions
+ Added a new window to execute code during runtime for debug purposes (Application wide shortcut is ctrl+T)
+ Added a button to close all running threads that are used for calculations
++ This is a dirty implementation and it can only be implemented dirty! Use with caution!
+ Added a display for the currently running calculations
++ This means that the user can now see if a calculation is running without looking into the console
+ Added a new menu for all Dev-Functions that should be used with caution!
+ Fixed size problems with the MenuBar
+ Moved most window-frame related code to the widget definitions to clean up the code
+ The window title now has its own space in the bottom right corner
++ This frees the status bar to show other information like the aforementioned number of currently running calculations
+ Fixed the tool tips for the menu actions
v0.15.7.1: Screenshots
+ F12 now saves a screenshot of the current window
+ The folder path is now handled by the application instead of the main window
+ Finally added current screenshots!!!
v0.15.8: Full Equation as LaTeX
+ Added the option to display entire equations in LaTeX
+ MultiDim-tab: Now displays the equations instead of only the solution
+ MultiDim-tab: When copying the text or equation the matrix names are now replaced by the actual matrices
+ Added highlight colours to the dark theme
v0.15.8.1: Bug Fix for Bad MultiDim Names
+ Fixed a crash in the MultiDim tab when a bad name for a matrix like "(" was used in a calculation
+ Removed AMaS_old to avoid confusion when programming
v0.15.9: Options Window, PlusMinus and Flags
+ Added support for ± and ∓
+ Added a new options window
++ Moved keyboard remap to options window
++ Added a font combo box to the options window (which means that the setFont function is finally used to its full potential!)
++ Implemented the first Flags to control the format of the solutions of the calculator
+ Fixed a bug that caused the window to resize when clicking on the top edge in compact mode to move the window
+ When a new text edit is initialized the highlighter activation status is now read instead of just assumed to be True
v0.15.9.1: ToolTip Colour Fix
+ Finally fixed the ToolTip colour for dark theme
++ It turns out the colours for text and base were simple swapped...
++ I tried to fix this many times but never checked what colours I set. I just assumed they would be dark... They were not...)
++ Thankfully the problem was that I simply set the wrong values and not that qt has a bug
v0.15.9.2: Solve for Specific Variable and ToolTip Colour Fix for Windows
+ You can now set specific variables to solve equations for in the options window!
+ Improved handling of ± and ∓
+ Fixed the ToolTip colour for MS Windows (because MS Windows is "special" and needs the colour in a more explicit way than Linux)
+ Made the ToolTipBase darker
v0.15.10: History Copy QoL
+ You can now select what ctrl+c copies in the history when having a single item selected
+ Selecting multiple items in a History and then pressing ctrl+c now copies all
+ Double-clicking an item in the calculator history now pastes the input of that item into the Input Field
+ Added 'Copy Equation' to History context menu
++ This was already accessible via ctrl+c but the ctrl+c behaviour can now be changed which necessitates this option
+ Added 'Copy LaTeX Equation' to History context menu
+ "Preloading LaTeX" now uses a more complex string to ensure that LaTeX is fully preloaded
++ Previously "§1§" was used to preload but this only preloaded LaTeX partially
v0.15.10.1: Improved LineEdit Multi-Line-Paste
+ When pasting a multiline string into a LineEdit the line breaks are now also removed when the MimeData has more than just Plain Text
++ It was probably the case that the standard paste method preferred to paste HTML or /something else/ rather than the modified plain text
+++ The fix was to skip the standard print method but instead printing the plain text directly
+++ When the MimeData has no plain text the standard print method is still used which could cause line breaks to be pasted
++ Furthermore all lines are now isolated in parentheses to better indicated the former line breaks
v0.15.11: Notification Class
+ Implemented a notification class
++ This class can also handle the entire exception output, making the function ExceptionOutput obsolete
+++ ExceptionOutput now redirects to this new notification class and returns an object.
++++ This object should be compatible with all old code as the important string function (__str__,__add__,__radd__) are implemented
v0.15.12: Notification Class II
+ Notifications:
++ Replaced all old notifications by the new notification class (NC)
+++ The old notification system is completely removed
++ Added more information to existing notifications
+++ For example most notifications now include the function, the window and the user input that is associated with the notification
++ The notification window now displays all information about a selected notification
++ The changes of ExceptionOutput are reverted. Instead NC can now handle Exceptions on its own.
+++ Thanks to this the exception handling has been reduced to one line in most cases while being more readable in the code and giving more information in the notification!
++ Advanced-Mode-Notifications that were send while advanced more was off are now always listed in the notification window.
++ Changed requirement for recent notifications to be included in the tooltip
+ The context menu code now lives in the HistoryWidget to keep the main window code clean
+ NoEvalParse changes:
++ The NoEvalParse option for the LaTeX view must be turned on in the dev tab in the option window
+++ It turns out that the new process still influences the main program which makes the calculator unreliable
++ The half-checked state now checks if the LaTeX version equals the normal version
+++ This ensures that sin(2*2*t*pi) doesn't return the LaTeX sin(2*t*pi) but instead sin(4*t*pi)
+++ The old behaviour (without this check) is now the behaviour of the unchecked state if the box in the dev tab is not checked
++ Improved the NoEvalParse script to work more reliable (That stuff behaves weird, dude!!!)
++ The NoEvalParse should now be compatible with other OS than Windows and Linux
+++ This means that everything (excluding library dependencies) should be OS independent
+ Added ans1, ans2 and ans3 to access the solution of the last three items of the calculator list
++ ans is no longer the last calculated solution but instead a synonyme for ans1
++ All ans are isolated in parentheses to enable multiplication of complex numbers
+ Cleaned up the overhead of the code execution window
v0.15.12.1: Notification Class in AMaS
+ AMaS no uses the notification class instead of Notify in most cases.
+ The notification class cow saves its icon. (Currently unused)
v0.15.12.2: Bugfix
+ Fixed a crash when trying to use the control code input without advanced mode
+ When a notification has no message but an error, the error is used as the message.
+ Fixed a minor bug for the LaTeX converter
++ The bug had a workaround so it was not noticeable for the user but this fix might increase quality in some cases
v0.15.13: Notification Class III
+ Added new NotificationWidget that is used by the notification window and includes all methods
++ Also made changes to the NotificationListWidget and created the NotificationInfoWidget
++ Notifications in the NotificationListWidget now display their icon (if they have one)
+ Cleaned up the NotifyUser method from AMaDiA_Main_App and removed a lot of redundant code and methods
++ The icon attribute of NC from v0.15.12.1 is used here
+ Reworked the notification system of AMaS to use NC everywhere and adjusted the workers and threads accordingly
++ This new system also represents the first use of mutex in AMaDiA (I should really get to make AMaS more thread save...)
+ Reworked the notification system of the LaTeX displays to use NC everywhere
++ The two control widgets are the last things that need to switch to NC
+ Fixed a crash when disabling Threadpool-mode
+ Fixed the MTabWidget and MMenuBar moving when clicking on the top edge without moving the mouse
+ Made some minor modifications on NC
+ Fixed a bug that would cause notifications to apply wrong colours when changing the colour palette
v0.15.13.1: Full Traceback
+ NC now stores (and displays) the full traceback
+ Fixed a crash (introduced in v0.15.13) when pressing return while the calculator input field was empty
v0.15.13.2: Negative Part of Root Locus Plot
+ Added the negative part to root lucus plots
v0.16.0: AGeLib, Units and Control System Input
+ Added a checkbox to the options to enable units (default: False)
+ The application ID is now set and each instance has its own ID
+ A widow icon is now set (only placeholder)(currently the standard PC icon)
+ Moved the basic widgets and function to a new folder (AGeLib) to make them useable for other projects
+ Warnings in the alternative method in AMaS.Plot_2D_Calc_Values are now displayed as notifications
+ Control Systems:
++ Moved the Control Tab to its own window
++ The input tab is now enabled by default
+++ The devFunction in the options menu currently has no function
++ When a system is created (including Code Input) its Transfer Function and State Space is now displayed in the LaTeX tab in the Input tab
++ Reworked the notification system of the Control displays to use NC everywhere
+++ This completes the transition to NC!
++ The root-locus-plot in the single-plot-view now has a legend
++ The Bode-plot in the single-plot-view now displays the margins
++ The state system input is now fully implemented
++ Added an input field for an input function for the forced response plot
++ The save-function in the input tab now works
+ Improved UX of Table widgets:
++ Enter and space now enter the editor of the current cell
++ When an editor is entered the text is selected
+++ This means that pressing a key while having a cell selected deletes its content and inserts the character of the key
++++ ctrl+Z can revert this overwrite if needed as long as the editor is not closed again
v0.16.1: More Control System Input Interaction
+ Changes to Control System Window -> Input Tab:
++ You can now load a system to the editor
++ You can now copy a system as a string
++ You can now generate the closed loop of a system
++ The LaTeX Display now shows whether the system is BIBO-stable
++ The header labels for the ss-input now show what the row/column is used for
++ The LaTeX display now sends error notifications
+ The installation instructions in README.md now include the standard installation folder for more clarity
v0.16.2: Normal Equations
+ Sooo... a bit different patch notes this time:
++ The calculator flips equations so that the solution is on the left side and the the input is on the right side
++ This is done so that it is easy to find the solution: just look at the very left.
++ When writing equations down however the order is the inverse of what the calculator displays
++ The Calculator now stores it both ways and converts both to LaTeX:
+++ The normal LaTeX is used for the LaTeX display
+++ The reverse LaTeX is used in Tab 4 for the same reason it is reverse in the calculator output
++ The reverse text is still displayed in the calculator but when copying the usual order is used to make pasting in a file easier.
++ The reverse version is currently inaccessible and is solely used for display purposes
+++ If anyone wants to access the normal version please send me feedback and I will implement it
+++ But as I currently see no reason one would want to access it I will not clutter the UI with this until someone complains
v0.16.2.1: Normal Copy Adjustment
+ The normal copy mode now copies the Equation in the history of tab 1 and 4
v0.16.2.2: SS Input Flow and LaTeX Copy
+ Pressing tab when the last cell of one of the SS matrices is selected now selects the next matrix
++ For matrix D pressing tab selects the system name input field and changes the tab back to matrix A
+ Pressing tab when the last cell of the TF Table is selected now selects the system name input field
+ LaTeX display widgets now have a context menu to copy the entire LaTeX string that is currently displayed
v0.16.2.3: Multi Dim Table Fix
+ Fixed the table widget in tab 4
v0.16.2.4: Number Grouping
+ Added an option to enable number grouping in the calculator display (default: True)
++ For example 5000666.12345 is displayed as 5,000,666.12345
++ This only influences the displayed text of the items in the calculator history and does not change anything else
v0.16.3: Fahrenheit to Celsius
+ Updated AGeLib to v1.0.3
++ This makes alt+A the application wide shortcut for the advanced mode
++ The control window has the new advanced mode checkbox in the top bar
++ All instances where the advanced mode is relevant now ask the application instead of the options window
+ °F will now automatically be convert to °C
++ Sympy does not support temperatures so I added the conversion formula to the replacement tables
+++ Due to this an inverse conversion is not easily possible
+++ °C is recognized as a variable which means that one must be careful when solving for unknowns
+ Empty inputs are now recognized by AMaS and have a special error message
+ Units are now enabled by default
+ Inverse parsing of Greek letters now only converts them if they are not part of another word
+ Fixed some typos
v0.16.4: Negative Exponents in Control TF Input
+ The Transfer tab in the System Control Window can now handle negative exponents for s
++ This includes inputs like "(1/s+1)(1/s+2)(1/s+3)"
++ This does NOT include inputs like "1/(s+2)"
v0.16.4.1: Bode Plot Margin Colour Fix
+ Fixed the colour of the margin annotations in the Bode Plot in the System Control Window
v0.16.5: Control SingelPlot Axis Ratio Check Box
+ Updates AGeLib to v1.1.0
++ Improved the code to make use of the new features and behaviour
+ Overhauled the About window to provide useful information and links
+ Control Window: Improved the single plot view to include a working 1:1 axis ratio checkbox
+ Adds a comment that describes the versioning method that AMaDiA uses
++ After some research into common versioning methods I have concluded that none of them are useful for AMaDiA
+++ They all seem good but none of them adequately describe the difference between two versions when it comes to functionality
+++ The system I have invented seems to be the best way to describe the version of AMaDiA thus I will stick with it for AMaDiA
+++ AGeLib from now on uses semantic versioning 2.0 as it seems to be a good system for libraries
v0.17.0: Big Overhaul!
+ Improved the Patchlog display! (Did you notice? This isn't plain Text anymore but html!)
++ It also detects if there has been an update and opens itself! (Just like it did for you just moments ago (most likely)!)
+ Improved LaTex:
++ Converter can handle "," and "=" much better and the format of the solutions allows for even more conversion!
++ Improved display format!
++ Drastically reduced the conversion time!
++ Improved the LaTeX Tab and the LaTeX widgets!
+ Notification Overhaul:
++ Notifications now include much more information!
++ Even if a LaTeX conversion goes wrong (which is much less common now) there are less (redundant) notifications!
+ Better Calculator!
++ Fixed "Eval Functions" option not behaving correctly in some cases.
++ The calculator now checks input for diverging sums and products and warns the user!
++ "=" in brackets is now much easier to use!
++ The integral parser can now handle words that include "d" in integrals!
++ Many other parsing improvements!
+ Improved the Patchlog display! (Did you notice? This isn't plain Text anymore but html!)
+ Moved the save location of screenshots etc to the AGeLib Folder!
+ Changed the standard install location to the AGeLib Folder!
+ Colour!
++ The Options menu now allows to create and save custom colour schemes!
++ All plots (including the control-window-plots) now use the custom colours!
+ Improved opening of subwindows
+ Double clicking on items in the histories of tab 1, 2 and 3 now does convenient things!
+ The pair highlighter can now handle multiple lines better: Changing the line now "unhighlights" the previous line!
+ Internal improvements of the HistoryWidget
+ Moved some features to be handled by AGeLib
+ Update: AGeLib v2.0.0: Colours!
++ Added a documentation for most classes/methods/functions. More to come!
++ Reworked the colour System
+++ There are now 3 QPalettes and 3 additional dicts for special colours
++++ The dicts are extendable without risking crashes due to a special class that provides for missing keywords
++++ The dicts are already connected to the matplotlib colour cycler and the AGeLib Notification blinks
+++ Overhauled all functions regarding colours
+++ Added 2 new colour schemes and reworked the old ones
++ Added a standard options menu accessible via alt+O
+++ This window allows the user to change the font and the colour palette
+++ It also allows to create and save new colour schemes
+++ Custom option windows should include the appearance widget which provides the aforementioned features
++ Reworked the Notification Class
+++ Notification are now send automatically without the need to use .send()
++++ This can be suppressed with a variable in the init of the NC object
++ The new function App() now gives easy access to the active QApplication!
++ Added a global screenshot hotkey (F12)
++ AGeLib now has its own folder in the users home directory to save config files and screenshots
+++ Applications using AGeLib are encouraged to use this folder
+++ Smaller Applications using AGeLib are encouraged to use the AGeLib ProgramFiles folder to install themselves
++ Completely overhauled the LaTeX widget
+++ Canvas is only as big as it needs to be
+++ Better multiline handling and prettier formatting
+++ Takes less arguments to make usage simpler (Advanced usage ist still available)
+++ Started work on a new LaTeX widget. Do NOT use it. It is WIP and will change drastically without warning!
++ Improved the Text widgets
+++ Improved arrow key navigation
+++ Made copying text which include linebreaks into LineEdit more secure. It should now be (near) impossible to create linebreaks.
++ AWWF Improvements:
+++ The Top-, Menu- and Statusbar can now be hidden in fullscreen
+++ The new method positionReset can now reset a windows position and size (standard size can be set with the attribute standardSize)
+++ alt+T now tries to keep the window in the foreground
+++ F11 now activates the fullscreen mode
++ MenuAction Improvements:
+++ The init now takes more arguments to make the setup of menuactions much more easy and take less lines
++ There are many more minor improvements/fixes/adjustments