Commit Graph

304 Commits

Author SHA1 Message Date
adelikat 6640146c0a InputRoll - add a flag for whether the control can be toggled into HorizontalOrientation, and only enable it on tastudio 2019-12-02 20:29:29 -06:00
adelikat 92bf482609 input roll - cleanup 2019-12-02 20:08:03 -06:00
adelikat 9b69a4a1fc inputroll - simplify 2019-12-02 20:04:37 -06:00
adelikat 3010cf3a3d InputRoll - don't allow resizing columns to a negative width 2019-12-02 19:58:32 -06:00
adelikat f1d688f7bb IControlRenderer - simplify api 2019-12-02 19:53:09 -06:00
adelikat 230cc676c3 IControlRenderer - Simplify API 2019-12-02 19:48:57 -06:00
adelikat cb9b28514c GDIPlusRenderer - use the Rect overload of drawstring to control overflow instead of attemtping ot calculate it. Fixes the cutoff being way off on larger columns, and also gives a rather noticeable speed boost to tastudio 2019-12-02 19:43:41 -06:00
adelikat c6c92c51c7 Change IControlRenderer.MeasureString to return a SizeF instead of Size, for more accurate reporting, it was Size because that's what the GDI renderer did, but if we ever needed that again, we can easily convert to SizeF 2019-12-02 18:38:24 -06:00
adelikat f66e427ccb InputRoll - fix bug where scrollbars are incorrectly calculated before the rowcount changes instead of after 2019-12-01 18:08:22 -06:00
adelikat 2a12cac9e5 InputRoll - implement shift+Up/Down logic to highlight rows 2019-11-29 16:12:23 -06:00
adelikat 1b264ad068 InputRoll - tweak right-click selection - only clear and select if not already selected 2019-11-29 15:21:20 -06:00
adelikat c7c09c92a7 InputRoll - the designer doesn't seem to like auto-generating the GridLines property, so just set it true by default 2019-11-29 13:44:47 -06:00
adelikat 92b0505c41 Tastudio - fix stackoverflow exception when drag scrolling (this didn't happen in earlier versions and they didn't have this kind of hack, there might be a better way to do this, but this seemed to work) 2019-11-27 20:35:05 -06:00
adelikat 0def3828b9 Simplify ToolStripEx 2019-11-27 20:26:03 -06:00
adelikat ed395ca656 a few cleanups 2019-11-26 16:57:01 -06:00
adelikat 3ddf96563a InputRoll - a bit more precise background drawing, might help peformance a bit 2019-11-26 16:14:32 -06:00
adelikat e1b91d13ab InputRoll - cleanups and simplifications 2019-11-26 15:55:07 -06:00
adelikat e1f2147e65 InputRoll - turn some public properties into private variables 2019-11-26 15:37:17 -06:00
adelikat 24a0bdbbed Tastudio/InputRoll - improve performance in UpdateValues some 2019-11-26 14:37:49 -06:00
adelikat d2a9f51510 Remove a few more hardcoded values in InputRoll constructor 2019-11-26 12:53:10 -06:00
adelikat 22fdbd08d0 InputRoll - don't hardcode padding variables in the constructor 2019-11-26 12:51:36 -06:00
adelikat bab5877d1a InputRoll - don't hardcode GrideLines to true 2019-11-26 12:44:31 -06:00
adelikat 56b33498d9 InputRoll - rip out the UseCustomBackGround flag, and only key off the existence of the override. Seems to be a speed hack, but the only attempt to make it faster (in ram watch) was actually making things slower 2019-11-26 12:33:39 -06:00
adelikat a45b33b8c6 move arrow key hack from tastudio to inputroll so it applies to all inputrolls 2019-11-26 12:07:00 -06:00
adelikat a17584a319 InputRoll - fix behavior of up/down arrow keys 2019-11-26 11:27:55 -06:00
adelikat 44a2565f5c InputRoll - refactor MouseDown hack that checks if emulator is paused, better is to recalculate the pointed cell, anytime it may have changed 2019-11-26 11:19:34 -06:00
adelikat e73e61c5cc InputRoll - fix page up/page down logic 2019-11-26 10:28:32 -06:00
adelikat 9b93c557b8 InputRoll - don't hardcode disabling of Home and End, make it a flag instead (true by default, false for tastudio's inputroll), also fix home/end to be expected listview behavior and delete ctrl+home, ctrl+end those aren't expected behaviors 2019-11-26 10:09:24 -06:00
adelikat fe89df140c InputRoll - when AllowRightClickSelect is true, existing selected rows should be cleared in addition to selecting the right-clicked one 2019-11-26 09:50:19 -06:00
adelikat 6d9dfa8956 InputRoll - misc cleanups 2019-11-26 09:48:26 -06:00
adelikat 557c68862e InputRoll - make AllowRightClickSelect true by default 2019-11-26 09:42:14 -06:00
adelikat 9c62ded4f5 InputRoll - Recalculate cell size on font change 2019-11-24 15:09:25 -06:00
adelikat 2aaae85c36 InputRoll - use the built in Font property rather than a private variable. Make the default the natural control default, and set the main Tastudio InputRoll window to be arial 8 2019-11-24 14:38:05 -06:00
feos 4a0ec76c84 tastudio: disable [Ctrl+]Home/End
those are very obscure accelerators that you hit if you miss Ins/Del while editing, and that screws up the editing flow in various ways. if this functionality is needed, it will be enabled with potential miss-hitting in mind. I can't imagine a situation where you'd need them tho.

close #1600
2019-11-20 20:37:24 +03:00
adelikat 901e9f2ceb InputRoll - when RowCount changes, deselect rows that may no longer exist, fixes crash on Lua Console when removing lua scripts (and lots of other bugs most likely) 2019-11-17 09:26:18 -06:00
adelikat 358ad68357 use some C#7isms in InputRoll.cs 2019-11-16 11:41:34 -06:00
adelikat f47854e1d4 GdiRenderer begone! GdiPlusRenderer has significantly more performance and is not OS specific 2019-11-16 11:29:29 -06:00
adelikat 9e30d64954 InputRoll - always redraw when RowCount is set, fixes #1729 2019-11-15 18:10:10 -06:00
YoshiRulz 8c059aa43c
Replace helper methods with readonly bool IsUnixHost and cleanup 2019-11-04 14:30:05 +10:00
J.D. Purcell fec63fb66a Spaces -> tabs, fix mixed newlines. 2019-11-03 20:58:36 -05:00
J.D. Purcell 6eb44acd4f Fix noise from last merge. 2019-11-03 18:04:31 -05:00
adelikat e4e10646bf Merge branch 'master' into MoreUnixMonoCompatWork
# Conflicts:
#	BizHawk.Client.EmuHawk/Program.cs
#	BizHawk.Common/BizInvoke/MemoryBlock.cs
2019-11-03 16:09:22 -06:00
adelikat 942d9fc75e Simplify OS checks with some helpful methods 2019-11-03 16:04:42 -06:00
adelikat b9ade1a555 Merge branch 'master' into MoreUnixMonoCompatWork 2019-11-03 12:55:53 -06:00
adelikat 39586a5bf0 Remove NewHexEditor (can be developed on a branch instead) 2019-11-03 10:20:07 -06:00
adelikat 7936797a9d Custom controls house cleaning - remove a bunch of unused controls, do some cleanups 2019-11-02 10:08:06 -05:00
James Groom cdf42777dc
Merge branch 'master' into MoreUnixMonoCompatWork 2019-11-02 18:15:46 +11:00
J.D. Purcell 39b54f7202 Fix missing UI usings. 2019-11-02 00:38:50 -04:00
J.D. Purcell 17701dc57d Fix wrong return type in P/Invokes. 2019-11-02 00:38:50 -04:00
J.D. Purcell 4b9f53db35 Remove unused files. 2019-11-01 22:51:01 -04:00
adelikat 6c7653e158 Merge branch 'master' into MoreUnixMonoCompatWork
This doesn't compile because of Input.cs, didn't know what to do. Also search for Merge TODO for some commenting things that probably need to be deleted
# Conflicts:
#	BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj
#	BizHawk.Client.EmuHawk/CustomControls/InputRoll.Drawing.cs
#	BizHawk.Client.EmuHawk/CustomControls/InputRoll/InputRoll.cs
#	BizHawk.Client.EmuHawk/Program.cs
#	BizHawk.Client.EmuHawk/tools/Lua/LuaConsole.cs
#	BizHawk.Client.EmuHawk/tools/TAStudio/TAStudio.cs
#	BizHawk.Client.EmuHawk/tools/ToolHelpers.cs
#	BizHawk.Client.EmuHawk/tools/ToolManager.cs
#	BizHawk.Client.EmuHawk/tools/TraceLogger.Designer.cs
#	BizHawk.Client.EmuHawk/tools/TraceLogger.cs
#	BizHawk.Client.EmuHawk/tools/Watch/RamSearch.Designer.cs
#	BizHawk.Client.EmuHawk/tools/Watch/RamSearch.cs
#	BizHawk.Common/BizInvoke/DynamicLibraryImportResolver.cs
2019-10-31 17:01:19 -05:00
J.D. Purcell 1b548ed92d InputRoll horizontal: Improve look of column dragging. 2019-10-28 01:35:16 -04:00
J.D. Purcell 4d2f6e902e InputRoll horizontal! 2019-10-27 22:59:42 -04:00
J.D. Purcell 28c0586c8b InputRoll horizontal - WIP. 2019-10-27 21:00:52 -04:00
J.D. Purcell 90724bb777 Work on InputRoll horizontal mode a bit. 2019-10-27 17:55:53 -04:00
J.D. Purcell 9471f7ca03 Cleanups 2019-10-27 14:00:02 -04:00
J.D. Purcell 12c64dc40d InputRoll: Fix text clipping too early with GDI+ renderer. 2019-10-27 11:46:21 -04:00
adelikat 290cf4c4a4 InputRoll - attempt to cleanup drawing logic a bit 2019-10-27 09:18:14 -05:00
adelikat 5f021ca0e2 InputRoll - attempt to put some attributes on public properties. This is a control, public properties without attributes and/or documentation should be avoided 2019-10-26 18:35:12 -05:00
adelikat 9d87550c2a Cell - implement == and != overrides, this might fix some subtle problems in input roll 2019-10-26 17:22:49 -05:00
adelikat 6604e5dc17 InputRoll - cleanup and fix some typos 2019-10-26 17:16:15 -05:00
adelikat 0ce5046061 cleanup input roll column and cell classes 2019-10-26 17:06:42 -05:00
adelikat b54be19e9e InputRoll - reorg - put in its own folder, break out column and cell classes into separate files 2019-10-26 16:49:52 -05:00
adelikat 14ffd143d4 InputRoll - fix placement of rotated text 2019-10-26 16:25:42 -05:00
adelikat 5a17d20cf0 InputRoll - some more cleanup 2019-10-26 16:20:27 -05:00
adelikat af59d2fe6b InputRoll - misc cleanups 2019-10-26 16:04:27 -05:00
adelikat d592526c3c InputRoll - stop passing around unused paint event args 2019-10-26 15:47:43 -05:00
adelikat f7b2982dad Merge branch 'inputroll-rotatefix' 2019-10-26 15:37:47 -05:00
J.D. Purcell d2cf95e18f GdiPlusRenderer: Implement string rotation. 2019-10-26 16:31:21 -04:00
adelikat 772bd5b65e Remove blend option in IControlRenderer, true was always being passed for GDI, so just always do alpha blend in GDI 2019-10-26 15:22:47 -05:00
adelikat 064a78d7f3 inputroll - fix crash when resized to 0 2019-10-26 14:37:42 -05:00
adelikat e21e861e99 temp hack to force tastudio to draw the frame column rotated in horizontal orientation 2019-10-26 14:22:19 -05:00
adelikat f6b0fa1550 GdiRenderer - cleanup font caching logic and fix rotated text 2019-10-26 12:59:30 -05:00
adelikat e11f3e68e7
Merge pull request #1704 from TASVideos/GdipRenderer1
GdiPlusRenderer: Remove caches, implement Dispose
2019-10-26 12:45:16 -05:00
J.D. Purcell 4e2818222d GdiPlusRenderer: Remove caches, implement Dispose. 2019-10-26 13:40:20 -04:00
YoshiRulz 5e5f69f07e
Move _vBar/_hVar init out of ctor, init CellHeight to non-zero
CellHeight/_vBar/_hBar were being read *while the ctor was running* due to
unexplained Mono magic (and hence their values were 0/null/null, respectively)
2019-10-27 03:38:30 +10:00
adelikat 9bbfb995b8 GDIPlusRenderer - put off rotate text, for now 2019-10-26 11:26:12 -05:00
adelikat 8977137e84 GDIPlusRenderer - cleanup 2019-10-26 11:11:38 -05:00
adelikat 2e489763b9 use OSTailoredCode class to decide GDI vs GDIPlus renderering 2019-10-25 18:20:13 -05:00
YoshiRulz b5d188ad5e
Migrate RAM Search to PAVLV 2019-10-25 22:04:56 +10:00
YoshiRulz fb29663ce6
Platform-agnostic VirtualListView 2019-10-25 21:11:54 +10:00
YoshiRulz d0159ee565
Port InputRoll by adding GDI+ implementation
also available for Windows users via a toggle in TAStudio
2019-10-25 19:17:50 +10:00
adelikat 28dcae6c8b GDIPlus renderer - use brush cache for text drawing 2019-10-24 16:35:07 -05:00
Asnivor 2e8d7346c3 InputRoll: Implement proper double buffering (improves gdi+ inputroll performance by a factor of 8 or 9 on my machine) 2019-10-24 15:49:51 -05:00
adelikat 7b7e9a269a Rough in of a GDI+ Renderer implementation 2019-10-24 15:49:51 -05:00
adelikat b7f8f830e0 move some font shenanigans into GDI Renderer instead of input roll 2019-10-24 15:49:51 -05:00
adelikat b4a38597a6 remove unnecessary hack 2019-10-24 15:49:51 -05:00
adelikat f86b218111 Renderer doc fix 2019-10-24 15:49:51 -05:00
adelikat 9dc91e508e simplify renderer api 2019-10-24 15:49:51 -05:00
adelikat ca2767c536 HexView - cleanup and comment out GDIREnderer for now 2019-10-24 15:49:51 -05:00
adelikat 92d6769b06 inputroll - rename renderer variable 2019-10-24 15:49:50 -05:00
adelikat 0a7db2ad4d cleanup GDI Renderer 2019-10-24 15:49:50 -05:00
adelikat 74450ee0a6 create an interface for GDIRenderer 2019-10-24 15:49:50 -05:00
adelikat bc4498b9dd VirtualListView begone! 2019-10-19 20:06:59 -05:00
adelikat 9100526a0c Convert debugger to use InputRoll instead of VirtualListView 2019-10-19 19:16:45 -05:00
adelikat bd0c81d791 InputRoll - don't blow up if QueryItemBkColor isn't defined 2019-10-19 14:59:57 -05:00
adelikat de01596617 delete unused TasListView, not sure what this was trying to be 2019-10-19 13:07:36 -05:00
adelikat b5d05e0f0c InputRoll - properly calculate if a vertical scrollbar is needed 2019-10-19 13:01:53 -05:00
adelikat f96e778c35 remove unused method 2019-10-19 11:46:56 -05:00
adelikat 7428a5d244 InputRoll - if column resize is enabled, double clicking a column edge resizes it to fit the text 2019-10-19 11:45:18 -05:00