Closed unknowIfGuestInDream closed 1 month ago
👋 Figuring out if a PR is useful is hard, hopefully this will help.
- @unknowIfGuestInDream has been on GitHub since 2019 and in that time has had 1090 public PRs merged
- Don't you recognize them? They've been here before 🎉
- Here's a good example of their work: javafxTool (Javafx scaffolding, built on JDK17 + JavaFX21 + controlsfx 11.x.x + Maven)
- From looking at their profile, they seem to be good with Java and HTML.
Their most recently public accepted PR is: https://github.com/unknowIfGuestInDream/tlstudio/pull/193
This pull request adds several new custom widgets and utility classes to the com.tlcsdm.tlstudio.widgets package. The changes include implementations for range sliders, spinners, color pickers, and chromaticity diagrams, as well as various supporting classes and utilities.
classDiagram
class RangeSlider {
- byte NONE
- byte UPPER
- byte LOWER
- byte BOTH
- int minWHint
- int minHHint
- int barHeight
- int hOffset
- int vOffset
- Color selectionColor
- double minimum
- double maximum
- double lowerValue
- double upperValue
- Image slider
- Image sliderHover
- Image sliderDrag
- Image sliderSelected
- Image vSlider
- Image vSliderHover
- Image vSliderDrag
- Image vSliderSelected
- int orientation
- int increment
- int pageIncrement
- byte selectedElement
- byte priorSelectedElement
- boolean dragInProgress
- boolean upperHover
- boolean lowerHover
- double previousUpperValue
- double previousLowerValue
- double startDragUpperValue
- double startDragLowerValue
- Point startDragPoint
- boolean hasFocus
- boolean isSmooth
- boolean isFullSelection
- boolean isHighQuality
- boolean isOn
- Format toolTipFormatter
- String clientToolTipText
- NumberFormat numberFormat
+ RangeSlider(Composite parent, int style)
+ int getStyle()
+ void addSelectionListener(SelectionListener listener)
+ Point computeSize(int wHint, int hHint, boolean changed)
+ int getIncrement()
+ double getLowerValue()
+ double getMaximum()
+ double getMinimum()
+ int getPageIncrement()
+ double[] getSelection()
+ double getUpperValue()
+ void removeSelectionListener(SelectionListener listener)
+ void setIncrement(int increment)
+ void setLowerValue(double value)
+ void setMaximum(double value)
+ void setMinimum(double value)
+ void setExtrema(double min, double max)
+ void setPageIncrement(int pageIncrement)
+ void setSelection(double[] values)
+ void setSelection(double lowerValue, double upperValue)
+ void setUpperValue(double value)
+ void setNumberFormat(NumberFormat numberFormat)
}
class Slider {
- double minimum
- double maximum
- double value
- int xPosition
- int mouseDeltaX
- Color barInsideColor
- Color barBorderColor
- Color barSelectionColor
- Color selectorColor
- Color selectorColorBorder
- int horizontalMargin
- int selectorWidth
- int selectorHeight
- int barHeight
- NumberFormat numberFormat
- double movingValue
- boolean moving
- int minWHint
+ Slider(Composite parent, int style)
+ void addSelectionListener(SelectionListener listener)
+ Point computeSize(int wHint, int hHint, boolean changed)
+ void setBounds(int x, int y, int width, int height)
+ void setEnabled(boolean enabled)
+ void removeSelectionListener(SelectionListener listener)
+ double getMinimum()
+ void setMinimum(double minimum)
+ double getMaximum()
+ void setMaximum(double maximum)
+ double getValue()
+ void setValue(double value)
+ void setBarInsideColor(Color barInsideColor)
+ void setBarBorderColor(Color barBorderColor)
+ void setBarSelectionColor(Color barSelectionColor)
+ void setSelectorColor(Color selectorColor)
+ void setSelectorColorBorder(Color selectorColorBorder)
+ void setHorizontalMargin(int horizontalMargin)
+ void setSelectorWidth(int selectorWidth)
+ void setSelectorHeight(int selectorHeight)
+ void setBarHeight(int barHeight)
+ void setNumberFormat(NumberFormat numberFormat)
}
class CIEData1931 {
+ static List~CIEData~ getInstance()
}
class DoubleSpinnerCellEditor {
- DoubleSpinner spinner
- FocusAdapter focusListener
- KeyListener keyListener
+ DoubleSpinnerCellEditor(Composite parent)
+ DoubleSpinnerCellEditor(Composite parent, int style)
+ Control createControl(Composite parent)
+ void dispose()
+ Object doGetValue()
+ void doSetFocus()
+ LayoutData getLayoutData()
+ void doSetValue(Object value)
+ void applyEditorValueAndDeactivate()
+ void focusLost()
+ void setMaximum(double i)
+ void setMinimum(double i)
+ DoubleSpinner getSpinner()
+ int getDoubleClickTimeout()
+ void setIncrement(double inc)
+ void setFormat(int i, int j)
+ void setBounds(Rectangle bnds)
+ void addKeyListener(KeyListener listener)
+ void addSelectionListener(SelectionListener listener)
}
class CIE1931ChromaticityDiagram {
+ CIE1931ChromaticityDiagram(Composite parent, int style)
+ void drawOutLines(GC gc)
}
RangeSlider --|> AbstractCustomCanvas
Slider --|> AbstractCustomCanvas
DoubleSpinnerCellEditor --|> CellEditor
CIE1931ChromaticityDiagram --|> ChromaticityDiagram
CIEData1931 --o CIEData
Change | Details | Files |
---|---|---|
Added custom RangeSlider widget |
|
bundles/src/com/tlcsdm/tlstudio/widgets/custom/RangeSlider.java |
Added custom Slider widget |
|
bundles/src/com/tlcsdm/tlstudio/widgets/custom/Slider.java |
Added CIE color model support |
|
bundles/src/com/tlcsdm/tlstudio/widgets/model/CIEData.java bundles/src/com/tlcsdm/tlstudio/widgets/model/CIEData1931.java bundles/src/com/tlcsdm/tlstudio/widgets/color/ChromaticityDiagram.java bundles/src/com/tlcsdm/tlstudio/widgets/color/CIE1931ChromaticityDiagram.java |
Added custom cell editors for table viewers |
|
bundles/src/com/tlcsdm/tlstudio/widgets/viewers/DoubleSpinnerCellEditor.java bundles/src/com/tlcsdm/tlstudio/widgets/viewers/SpinnerCellEditor.java bundles/src/com/tlcsdm/tlstudio/widgets/viewers/BooleanCellEditor.java bundles/src/com/tlcsdm/tlstudio/widgets/viewers/QeColorCellEditor.java bundles/src/com/tlcsdm/tlstudio/widgets/viewers/QeCheckBoxCellEditor.java |
Added utility classes and supporting components |
|
bundles/src/com/tlcsdm/tlstudio/widgets/custom/AbstractCustomCanvas.java bundles/src/com/tlcsdm/tlstudio/widgets/WidgetsUtility.java bundles/src/com/tlcsdm/tlstudio/widgets/window/ImageToolitp.java bundles/src/com/tlcsdm/tlstudio/widgets/viewers/AbstractCheckBoxCellLabelProvider.java |
[!CAUTION]
Review failed
The pull request is closed.
The changes introduced in this pull request involve the addition of several new files and configurations for an Eclipse-based project. Key additions include project configuration files (.classpath
, .project
, and settings), a manifest file, utility classes for managing color data and user interface components, and custom cell editors for various controls. These enhancements improve the project's structure, support for Java SE 17, and provide new graphical components for user interaction.
File | Change Summary |
---|---|
bundles/.classpath |
New file created defining classpath configuration for Eclipse project. |
bundles/.project |
New file created defining project configuration for com.tlcsdm.tlstudio.widgets . |
bundles/.settings/org.eclipse.jdt.core.prefs |
New configuration file for Eclipse JDT settings with Java 17 compiler options. |
bundles/META-INF/MANIFEST.MF |
New manifest file for Tlcsdm Widgets bundle with attributes for versioning and dependencies. |
bundles/build.properties |
New build properties file specifying source and output directories. |
bundles/src/com/tlcsdm/tlstudio/widgets/WidgetsUtility.java |
New utility class for managing plugin resources and logging. |
bundles/src/com/tlcsdm/tlstudio/widgets/color/CIE1931ChromaticityDiagram.java |
New class for creating a CIE 1931 chromaticity diagram. |
bundles/src/com/tlcsdm/tlstudio/widgets/color/ChromaticityDiagram.java |
New class for graphical representation of chromaticity data with customizable features. |
bundles/src/com/tlcsdm/tlstudio/widgets/custom/AbstractCustomCanvas.java |
New abstract class for custom canvas components with enhanced event handling. |
bundles/src/com/tlcsdm/tlstudio/widgets/custom/DoubleSpinner.java |
New custom widget for handling double precision numbers with a spinner control. |
bundles/src/com/tlcsdm/tlstudio/widgets/custom/RangeSlider.java |
New class for a dual-thumb slider control allowing range selection. |
bundles/src/com/tlcsdm/tlstudio/widgets/custom/Slider.java |
New class for a customizable slider control for numeric values. |
bundles/src/com/tlcsdm/tlstudio/widgets/model/CIEData.java |
New class encapsulating color data in the CIE color space with conversion methods. |
bundles/src/com/tlcsdm/tlstudio/widgets/model/CIEData1931.java |
New class providing access to CIE 1931 color data using a singleton pattern. |
bundles/src/com/tlcsdm/tlstudio/widgets/viewers/AbstractCheckBoxCellLabelProvider.java |
New abstract class for custom label provider for checkbox cells. |
bundles/src/com/tlcsdm/tlstudio/widgets/viewers/BooleanCellEditor.java |
New class for a custom checkbox cell editor. |
bundles/src/com/tlcsdm/tlstudio/widgets/viewers/DoubleSpinnerCellEditor.java |
New class for a cell editor utilizing a double spinner control. |
bundles/src/com/tlcsdm/tlstudio/widgets/viewers/QeCheckBoxCellEditor.java |
New class for a checkbox cell editor with custom behavior. |
bundles/src/com/tlcsdm/tlstudio/widgets/viewers/QeColorCellEditor.java |
New class enhancing color selection through a custom color cell editor. |
bundles/src/com/tlcsdm/tlstudio/widgets/viewers/SpinnerCellEditor.java |
New class for a spinner cell editor managing numeric values. |
bundles/src/com/tlcsdm/tlstudio/widgets/window/ImageToolitp.java |
New class for a tooltip displaying an image. |
releng/com.tlcsdm.tlstudio.examples.swt.rcp/src/com/tlcsdm/tlstudio/examples/swt/rcp/Activator.java |
Minor formatting change, removal of a blank line in the Activator class. |
In the garden where widgets bloom,
New tools arise to banish gloom.
With spinners and sliders, colors so bright,
Our Eclipse project takes flight!
Hopping through code, a joyful delight,
For every change, a new path in sight! 🐇✨
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Fixes #
Proposed Changes
Readiness Checklist
Author/Contributor
Reviewing Maintainer
enhancement
,bug
,documentation
ordependencies
Summary by Sourcery
Add a new package 'com.tlcsdm.tlstudio.widgets' introducing several custom widgets including RangeSlider, Slider, DoubleSpinner, and ChromaticityDiagram. These widgets provide enhanced UI components for handling numeric ranges, precision inputs, and chromaticity visualization. Additionally, a utility class is added for common operations.
New Features:
Enhancements:
Summary by CodeRabbit
New Features
WidgetsUtility
,CIE1931ChromaticityDiagram
, andDoubleSpinner
.RangeSlider
,Slider
, andDoubleSpinner
for improved user interaction.ImageToolitp
for displaying images in tooltips.Bug Fixes
Documentation
Chores