1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-01-21 10:52:14 +01:00

98 Commits

Author SHA1 Message Date
Cristian Maglie
21ff728c59 Merge remote-tracking branch 'cmaglie/fix-win-paths' 2016-11-03 12:10:24 +01:00
Cristian Maglie
2856600463 Windows: Use Shell32 utility to determine known paths 2016-10-19 16:28:21 +02:00
Matthijs Kooijman
982d4f3fbf Use a separate RSyntaxTextArea for each editor tab
RSyntaxTextArea appears to support using a single instance and replacing
the underlying text and document when switching between tabs, but in
practice this support is not complete and even though the
RSyntaxTextArea developers did some work to improve the situation, they
recommend to just use a seperate instance for each tab.

This commit implements exactly that. A new class EditorTab is introduce
to wrap the RSyntaxTextArea and containing scroll pane, and to
encapsulate the code related to handling the text area itself. Doing so
removes some quirks and prepares for some later additions. In
particular, error highlights are now no longer shared between all tabs,
which was previously the case.

This commit mostly moves code from Editor into EditorTab, and updates
the callers to use getCurrentTab() and call methods on the result
instead of calling them on Editor. Some code is added to take care of
creating multiple EditorTab objects and switching between them. Some
small changes have been made to make the flow of opening files work,
though these are mostly a bit hacky.

While moving code, changes to the rest of the code were kept minimal,
retaining existing interfaces as much as possible. This sometimes result
in less than ideal code, which should be cleaned up in subsequent
commits.

The SketchCodeDocument class has been pretty much emptied out, since
it was mostly used to store things for tabs in the background, which are
now just stored in each RSyntaxTextArea separately. The last remaining
bits of this class can probably be moved or implemented differently
later, so it can be removed.

The entire flow of working with sketches and files needs to be cleaned
up next, so no thorough attempt at testing this commit was done. It is
likely that there are plenty of corner cases and race conditions, which
will be fixed once the reset of the code is cleaned up.

Fixes #3441
2016-08-26 16:42:44 +02:00
Cristian Maglie
fa4876b7b1 Fixed unit-test UploaderFactoryTest
It was broken after merging #4107
2015-12-21 15:19:22 +01:00
Federico Fissore
9729b1b069 Windows: in case Shell Folders entry is missing, attempts to discover Documents folder using User Shell Folders. See #4124 2015-11-18 15:55:26 +01:00
Federico Fissore
0102a58122 "static" makes sense for constants and few other things. Avoid it if you don't have a specific reason for using it. 2015-10-26 15:49:31 +01:00
Cristian Maglie
2ae36940c6 Fixed parsing for SystemProfiler on Macosx El Capitan
Should alleviate #3928
2015-10-20 23:36:56 +02:00
Cristian Maglie
28ad89d694 Make SystemProfilerParser.extractVIDAndPID() static
There is no need to instantiate a SystemProfilerParser object
each time extractVIDAndPID is invoked.

Added also `synchronized` keword to avoid reentrance problems
if the method is being used in multiple threads.
2015-10-20 23:34:27 +02:00
Cristian Maglie
2eaa6ff937 Removed unused imports 2015-10-20 18:29:40 +02:00
Federico Fissore
6128dace42 Removed some old code, including PdePreprocessor and OldCompiler 2015-09-21 15:20:31 +02:00
Federico Fissore
5b84aef301 Build path is now a function of sketch path. This allows to recycle previously
compiled files even when working with different sketches at the same time. In
such cases, recompiling is way faster
2015-09-18 10:47:23 +02:00
Federico Fissore
e5ddd0be3b New compiler 2015-09-14 15:21:15 +02:00
Federico Fissore
36e43713c2 Deleted I18NTest. It's been disabled for a long time and it was not really useful 2015-08-21 12:31:58 +02:00
Federico Fissore
e15ba64ee2 New console: replaces previous EditorConsoleStream with one that's faster and doesn't discard end chars.
See #2798
2015-06-29 16:18:40 +02:00
Federico Fissore
9089fecbe4 Windows: working on reg query encoding issue #3360. German encoding is Cp852 2015-06-19 17:44:28 +02:00
Federico Fissore
88e8019419 Extending remote upload. Sketch merge with bootloader is done by the IDE (using "noblink" bootloader if board definition provides one). If platform provides a "remote" upload tool, that tool is used, otherwise falls back to hardcoded "run-avrdude" 2015-06-18 15:43:10 +02:00
Federico Fissore
8c60054af0 Windows: ListComPortsParser was reporting the same VID/PID for both COM12 and COM1. Fixes #3333 2015-06-18 09:23:29 +02:00
Federico Fissore
64fcc716c9 MacOSX: SystemProfilerParser nows claims to have found the device even if the name is not exactly the same 2015-06-12 14:21:08 +02:00
Federico Fissore
e9d66015a4 Windows: reg query uses different separators on xp, fooling parser. Fixed 2015-06-04 11:44:56 +02:00
Federico Fissore
c84fb7fc90 Removed a handful of static methods delegates 2015-05-28 15:25:44 +02:00
Federico Fissore
a3eae13e5d Missing call to BaseNoGui.getPlatform().init() in tests 2015-05-26 14:53:15 +02:00
Federico Fissore
5faa1c9866 Removed Preferences.init: no one used it 2015-05-25 14:43:32 +02:00
Federico Fissore
ab7b7351f5 Removed lots of calls to BaseNoGui.getPlatform(): static is evil 2015-05-22 15:58:47 +02:00
Federico Fissore
365b0bdc94 Closing streams using IOUtils.closeQuietly
Fixed badly handled stream found in the meanwhile
2015-05-21 16:50:49 +02:00
Federico Fissore
f6546aea45 Windows: got rid on JNA, thus no more UnsatisfiedLinkError (at least when accessing native OS functions). Fixes #3190 2015-05-20 16:33:33 +02:00
Federico Fissore
03283bb098 Avoid referring directly to RSyntaxTextArea, at least in the names 2015-05-12 16:20:54 +02:00
Federico Fissore
96b7c5ec6b MacOSX: fixed some failing tests 2015-05-12 15:23:22 +02:00
Federico Fissore
5bc6cee118 Added missing licenses/copyrights 2015-05-07 17:30:05 +02:00
Federico Fissore
f8aecd0f9c Autoformat was generating two undo action, the first one being an empty editor. Tested and fixed 2015-05-07 17:15:51 +02:00
Federico Fissore
c0a1ffa27a Fixed failing PdeKeywords test
Autoformat was not saving caret position any more. Fixed
2015-05-07 17:15:51 +02:00
Federico Fissore
9ebe916fac Restoring keyword.txt loading and parsing. Added token type identifiers and related style in theme.txt 2015-05-07 17:15:50 +02:00
Federico Fissore
58cd233aee New editor: addede missing license headers on new files 2015-05-07 17:15:50 +02:00
ricardo.jl.rufino
725dffa69e updated tests for new Textarea 2015-05-07 17:15:49 +02:00
ricardo.jl.rufino
2e497c6c47 removing files from the old editor 2015-05-07 17:15:49 +02:00
Federico Fissore
9b58812d1d Preparing the ground for rewriting Preferences GUI code (and hopefully fixing the tiny-pref-window bug on macosx) 2015-05-05 10:02:12 +02:00
Federico Fissore
2d65814451 Added missing license header to tests 2015-04-30 11:26:15 +02:00
Federico Fissore
dabd6e4903 Tests weren't deleting temporary files: fixed 2015-04-15 11:00:23 +02:00
Federico Fissore
3465fcf97b File.deleteOnExit is not recursive. Replaced by DeleteFilesOnShutdown shutdown hook. Fixes #2971 2015-04-15 10:21:37 +02:00
Federico Fissore
9521d54bee Windows: added listComPorts test case 2015-04-10 15:31:11 +02:00
Federico Fissore
e5e5880a15 HostDependentDownloadableContribution better handles Macosx 2015-03-27 14:51:13 +01:00
Cristian Maglie
100dd21bd0 Added Contributed Platforms.
- TargetPackage / TargetPlatform / TargetBoard are now interfaces
- Contributions installed are detected during init time
- Tools must be referenced through "path" property (automatically set
  by the IDE to the contributed tool path)
2015-03-27 14:51:09 +01:00
Federico Fissore
155abfe280 MacOSX: Fest is not working well with java7+, needs a cheat 2015-03-26 15:16:44 +01:00
Federico Fissore
6d2aa17051 Compound edits weren't part of the undo/redo dance 2015-02-27 15:51:58 +01:00
Cristian Maglie
5ff4c9f8dc Temporary disabled DefaultTargetTest under certain conditions 2015-01-14 18:42:19 +01:00
Cristian Maglie
60309fe8b8 Fixed test 2015-01-14 17:18:43 +01:00
Cristian Maglie
29d2ab72e2 Fixed a bunch of simple warnings in java code 2015-01-13 23:16:50 +01:00
Cristian Maglie
7b2ed12ad7 Temporarily disabled I18N test 2014-11-13 16:34:25 +01:00
Claudio Indellicati
1974d77abe Added new command line options.
--buildpath
--nouploadport
--useprogrammer
2014-11-13 16:23:46 +01:00
Claudio Indellicati
83c61376e0 Split UploaderAndMonitorFactory in two distinct classes. 2014-11-13 16:23:44 +01:00
Claudio Indellicati
c666274bf9 Moved libraries and importToLibraryTable (and related methods) from Base to BaseNoGui (work in progress). 2014-11-13 16:23:41 +01:00