From f0de006015e082259033134ba5962e8bfcbcac88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Thu, 25 Jul 2024 16:33:36 +0200 Subject: [PATCH] fix: hydrogen highlight reset --- openchemlib | 2 +- .../gui/editor/GenericEditorArea.java | 131 ++++++++---------- 2 files changed, 57 insertions(+), 76 deletions(-) diff --git a/openchemlib b/openchemlib index b52c78dd..17d264c8 160000 --- a/openchemlib +++ b/openchemlib @@ -1 +1 @@ -Subproject commit b52c78ddc7df65c97bf96e18846966d24da85a52 +Subproject commit 17d264c81ccea9176ce576daedf959294eb93ff4 diff --git a/src/com/actelion/research/gwt/chemlib/com/actelion/research/gui/editor/GenericEditorArea.java b/src/com/actelion/research/gwt/chemlib/com/actelion/research/gui/editor/GenericEditorArea.java index 5e3a23be..b7c8bb87 100644 --- a/src/com/actelion/research/gwt/chemlib/com/actelion/research/gui/editor/GenericEditorArea.java +++ b/src/com/actelion/research/gwt/chemlib/com/actelion/research/gui/editor/GenericEditorArea.java @@ -46,12 +46,10 @@ import com.actelion.research.gui.hidpi.HiDPIHelper; import com.actelion.research.util.ColorHelper; -import java.awt.*; import java.awt.geom.Point2D; import java.io.File; import java.util.ArrayList; import java.util.Arrays; -import java.util.Comparator; import java.util.TreeMap; public class GenericEditorArea implements GenericEventListener { @@ -148,11 +146,13 @@ public class GenericEditorArea implements GenericEventListener { private static IReactionMapper sMapper; private static String[][] sReactionQueryTemplates; + private final int mMaxAVBL; private int mMode, mChainAtoms, mCurrentTool, mCustomAtomicNo, mCustomAtomMass, mCustomAtomValence, mCustomAtomRadical, mCurrentHiliteAtom, mCurrentHiliteBond, mPendingRequest, mEventsScheduled, mFirstAtomKey, - mCurrentCursor, mReactantCount, mUpdateMode, mDisplayMode, mAtom1, mAtom2, mMaxAVBL, mAllowedPseudoAtoms; + mCurrentCursor, mReactantCount, mUpdateMode, mDisplayMode, mAtom1, mAtom2, mAllowedPseudoAtoms; private int[] mChainAtom, mFragmentNo, mHiliteBondSet; - private double mX1, mY1, mX2, mY2, mWidth, mHeight, mUIScaling, mTextSizeFactor; + private final double mUIScaling; + private double mX1, mY1, mX2, mY2, mWidth, mHeight, mTextSizeFactor; private double[] mX, mY, mChainAtomX, mChainAtomY; private boolean mAltIsDown, mShiftIsDown, mMouseIsDown, mIsAddingToSelection, mAtomColorSupported, mAllowQueryFeatures, mAllowFragmentChangeOnPasteOrDrop; @@ -169,9 +169,9 @@ public class GenericEditorArea implements GenericEventListener { private GenericPolygon mLassoRegion; private ArrayList mListeners; private IClipboardHandler mClipboardHandler; - private StringBuilder mAtomKeyStrokeBuffer; - private GenericUIHelper mUIHelper; - private GenericCanvas mCanvas; + private final StringBuilder mAtomKeyStrokeBuffer; + private final GenericUIHelper mUIHelper; + private final GenericCanvas mCanvas; /** * @param mol an empty or valid stereo molecule @@ -1010,8 +1010,8 @@ private void eventHappened(GenericMouseEvent e) { s2 = -s2; } for (int i = 0; i() { - public int compare(int[] fragmentDescriptor1, int[] fragmentDescriptor2) { - if ((mMode & (MODE_REACTION | MODE_MARKUSH_STRUCTURE)) != 0) { - if (fragmentDescriptor1[1] != fragmentDescriptor2[1]) { - return (fragmentDescriptor1[1] == 0) ? -1 : 1; - } + final Point2D.Double[] cog = fragmentCOG; + Arrays.sort(fragmentDescriptor, (fragmentDescriptor1, fragmentDescriptor2) -> { + if ((mMode & (MODE_REACTION | MODE_MARKUSH_STRUCTURE)) != 0) { + if (fragmentDescriptor1[1] != fragmentDescriptor2[1]) { + return (fragmentDescriptor1[1] == 0) ? -1 : 1; } - - return (cog[fragmentDescriptor1[0]].x - + cog[fragmentDescriptor1[0]].y -