Skip to content

MCC TextEditor 15.50

Compare
Choose a tag to compare
@tboeckel tboeckel released this 15 Jan 14:35
· 49 commits to master since this release

Version 15.50 of MCC TextEditor

Changes:

  • mcp/Dispatcher.c: add the unique names for private custom classes for MUI4
    and up only. With MUI 3.8 this causes crashes.
  • mcc/Dispatcher.c: don't trigger unwanted notifications in case an
    application sets an attribute like MUIA_TextEditor_HasChanged in parallel
    with MUIA_NoNotify=TRUE.
  • mcc/Dispatcher.c: forget about any possible detected changes due to the
    initial text import right during OM_NEW.
  • mcc/HandleInput.c: respect any meta data for triggering the attribute
    MUIA_TextEditor_MetaDataChanged in case a deleted block contains some.
  • mcc: optimized the handling of the new attributes to get notified about
    changes of contents and metadata. I.e. changing the alignment should no
    longer trigger MUIA_TextEditor_ContentsChanged.
  • mcc: implemented the attributes MUIA_TextEditor_ContentsChanged and
    MUIA_TextEditor_MetaDataChanged to complement the already existing but more
    global attribute MUIA_TextEditor_HasChanged. The latter attribute can
    reflect arbitrary changes only, while the former two attributes will
    distinguish between changed textual contents and changed meta data like
    alignment, color or style.
  • mcc/GetSetAttrs.c: reworked the global alignment handling. Setting the
    global alignment no longer destroys any previously set line based alignment
    and can also be set during OM_NEW. This finally closes #20.
  • mcc/GetSetAttrs.c, mcc/Navigation.c: implemented MUIA_TextEditor_GlobalFlow
    to set a global text alignment instead of a line based one. This refs #20.
  • mcc/Methods.c: the MUIM_TextEditor_IndexToCursorXY method now returns a
    boolean value which indicates whether the index could be successfully
    converted to an X/Y position pair or not.
  • mcp/Dispatcher.c: added unique names for private custom classes.
  • mcc, mcp: removed an unused pen setting.
  • mcp/CreatePrefsGroup.c: removed the explicit column numbers from the title
    format. These are of no use when the column order is static.
  • mcp/ObjectCreator.c: fixed the wrong attribute for the settings items
    MUICFG_TextEditor_BlockQual. A numeric value must not be pen spec. This refs
    #19.
  • mcc/HandleInput.c: explicitly check for no block qualifier (mouse only).
    This refs #19.
  • mcc/NewGfx.c: fixed a warning about using an uninitialized variable.
  • mcc/EditorStuff.c: Corrected raster scroll in accordance with bottom space
    usage.
  • mcc/GetSetAttrs.c: Corrected line dump in accordance w. bottom space usage.
  • mcc/HandleInput.c, mcc/Methods.c:
    Implemented new behaviour for user clicks in the bottom space.
  • mcc/MixedFunctions.c: Better cursor drawing and drawbottom evaluations and
    tweaks for bottom space usage
  • mcc/Navigation.c : Tweaks for bottom space usage.
  • mcc/PrintLinesWithStyles.c: A bug in separator drawing removed. Better
    evaluation for partial line drawing in double buffer mode.
  • mcc/Methods.c: horizontal autoscroll when block marking implemented.
  • mcc/private.h, mcc/GetSetAttrs.c, mcc/Dispatcher.c,
    mcc/MixedFunctions.c, mcc/PrintLinesWithStyles.c:
    • Correct horizontal pattern calculations and scroll implementations.
    • Graphic glithces at the bottom of the gadget removed.
    • data->xpos made LONG and typecasts removed.
  • mcc/CaseConversion.c, mcc/ColorOperators.c, mcc/Dispatcher.c,
    mcc/EditorStuff.c, mcc/GetSetAttrs.c, mcc/HandleInput.c, MixedFunctions.c,
    mcc/Navigation.c, mcc/NewGfx.c, mcc/PrintLineWithStyles.c,
    mcc/StyleOperators.c, mcc/UndoFunctions.c, mcc/private.h,
    include/mui/TextEditor_mcc.h:
    • Lots of (re-)implementations to support a horizontal scroller in
      NoWrapMode.
    • TextFitNew() and TextLengthNew() are re-implemented to support very large
      input/return values and instead of taking a dummy TextExtent, TextFitNew()
      now takes a TextExtentNew structure which uses LONG type members and fills
      it properly.
      So that its te.Width member can be used instead of calling another
      TextLengthNew(). This provides very good optimization.
    • Cursor being drawn out of gadget boundaries issue when in NoWrapMode
      resolved.
    • Issue of highlighted text changing color when edited resolved.
    • Passing a NULL to this MUIA_TextEditor_HorizontalScroll now acts as a
      switch for turning off horizontal scrolling even in NoWrapMode.
    • Behaviour of FLG_HScroll re-implemented
      (now keeps the state of horizontal scrolling on or off).
    • New public attribute MUIA_TextEditor_HorizontalSlider (passing a NULL to
      this attribute disables the horizontal scroll facilities).
  • library.c: moved the system and CPU description behind the copyright part.
  • all/Debug.c: declare inlined _INDENT() function as static to avoid warnings
    of GCC5.
  • mcp/Makefile: generate ISO8859-1 encoded catalogs instead of UTF8 encoded
    ones.
  • mcc/ClipboardServer.c: fixed a missing initialization of the session local
    instance data pointer which caused a crash when copying text to the
    clipboard. This closes #4.