Neil Hodgson wrote:
   There are some odd exclusions from the Scintilla namespace. For
example, in SString.h, CompareCaseInsensitive, CompareNCaseInsensitive
and EqualCaseInsensitive are outside the Scintilla namespace. It is
unlikely these will clash but it would be easier to understand if
there was a consistent rule for whether an identifier goes in the
namespace or not. I don't expect static identfiers to be namespaced or
the LexerModule instances maintained by LexGen.py or the Scintilla_
identifiers in Scintilla.h which have to use a prefix instead (as they
are exported from the DLL and can be used from C code).

Not having some things in the namespace was more a choice I made at the time, no technical reason behind it, and that can be done.

   Avoiding complexity in Platform.h is something that has consumed
quite a bit of work in the past. I'd like to see the #ifdef
PLAT_MACOSX removed from the Window class eventually even if it means
using an platform defined WindowImpl class that holds the three IDs
and then use pointers to this type as WindowIDs.

I could do a WindowImpl class for osx to deal with this.

   WaitMouseMoved is really a problem on all platforms: Scintilla
shouldn't initiate a drag until the user has moved the mouse with the
button down. This should be done through extra state and code in the
mouse movement handler rather than as a synchronous call so that other
events continue to be handled.

The WaitMouseMoved stuff is recommended by apple as the way to handle the situation, and was the only reliable way I could get this to work on osx. I figured the best way to do this was to call into the platform layer, but I'm open to better ways of handling this.

   All of these issues should be seen as "nice to fix in the future"
rather than things that need attention now.

Sure.

Shane
_______________________________________________
Scintilla-interest mailing list
[email protected]
http://mailman.lyra.org/mailman/listinfo/scintilla-interest

Reply via email to