martincousido / opal Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/opal
Automatically exported from code.google.com/p/opal
Hi all,
currently widget classes have image loading such as:
public AngleSlider(final Composite parent, final int style) {
super(parent, style | SWT.DOUBLE_BUFFERED);
this.backgroundImage = new Image(getDisplay(), getClass().getClassLoader().getResourceAsStream("images/angleBackground.png"));
this.buttonFocus = new Image(getDisplay(), getClass().getClassLoader().getResourceAsStream("images/angleButtonFocus.png"));
this.buttonNoFocus = new Image(getDisplay(), getClass().getClassLoader().getResourceAsStream("images/angleButtonFocusLost.png"));
addListeners();
this.selection = 0;
this.selectionListeners = new ArrayList<SelectionListener>();
}
This way of loading resources appeared to be working fine until we had the opal
jar (version 0.9.x) in our Eclipse plugin.
This because in the "Manifest Editor > Runtime > Classpath" section it was
added among the libraries constituting the plug-in classpath.
However recently we refactored the target platform of our RCP product and
decided to use also Opal among the plugins.
Since the latest version 1.0.1 Opal is provided as OSGI bundle.
However the code above is no more good, especially when you decide to create
for example an inner class extending the original AngleSlider.
Changing to something like this works fine:
org.mihalis.opal.angles.AngleSlider.class.getClassLoader().getResourceAsStream("
/images/angleBackground.png")
Personally for image caching I use Windows Builder classes like
org.eclipse.wb.swt.ResourceManager and org.eclipse.wb.swt.SWTResourceManager.
For now we "quick fixed" putting all the image resources of the Opal widgets
inside our plugin.
Regards,
Massimo.
Original issue reported on code.google.com by [email protected]
on 11 Feb 2015 at 2:51
What steps will reproduce the problem?
1. Look at this page
http://code.google.com/a/eclipselabs.org/p/opal/wiki/OButton
2. Read the following text:
"And voilà !
You can customize your buttons: selection image, image when not selected or
disabled, font color, size..."
3. Try to do this using OButton. This is not possible nether from public
methods nether from inherited classes.
I expect that AbstractButtonRenderer as minimum must have extractImage() method
as protected not private, so I can implement myself customization of image when
button is disabled.
Or you should provide appropriate public method such as setDisabledImage().
Opal 0.9.5, OS: Windows7 x64, jre 1.6_i386.
Original issue reported on code.google.com by [email protected]
on 2 Oct 2012 at 3:45
Fix issue with init values in PreferenceWindow
Original issue reported on code.google.com by [email protected]
on 14 Jul 2014 at 4:52
Attachments:
What steps will reproduce the problem?
1.put an arbitrary image on your disk drive
2.try to create an ISItem using the absolute path to that file
3.you get an IllegalArgumentException
What is the expected output? What do you see instead?
I expect the ISItem to support multiple types of file input, including File
object or InputStreams.
What version of the product are you using? On what operating system?
0.9.5.2 on Windows 7
Please provide any additional information below.
The problem comes from the fact that ISItem uses the API
SWTGraphicUtil.createImage which only searches the class path.
Original issue reported on code.google.com by [email protected]
on 9 Sep 2013 at 4:14
What steps will reproduce the problem?
1. programatically call select(), deselect(), selectAll(), deselectAll()
What is the expected output? What do you see instead?
The selection change event should not be fired. This is the default behaviour
for all SWT widgets that I know of, aka. programatically calling methods does
not fire events. I think this behaviour confuses people used to classic SWT
widgets. User-triggered selections/deselections should still trigger events of
course.
What version of the product are you using? On what operating system?
0.9.9e.
Please provide any additional information below.
This is not a blocker for me, as I forked the class (DualList) and added
alternative versions (selectNoFire, deselectNoFire, etc.)
Regards
Original issue reported on code.google.com by [email protected]
on 20 Jun 2014 at 10:08
Looks like opal-1.0.0.jar does not contain the OSGi metadata to make the jar
file an OSGi bundle / Eclipse plug-in.
Can you please add this so that the JAR can be easily consumed in Eclipse RCP
applications?
Original issue reported on code.google.com by [email protected]
on 10 Sep 2014 at 8:56
What steps will reproduce the problem?
1.
2.
3.
What is the expected output? What do you see instead?
What version of the product are you using? On what operating system?
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 10 Oct 2013 at 6:14
What steps will reproduce the problem?
1. Create a dual list
2. Add items using text only constructor
3. Display list
What is the expected output? What do you see instead?
Expected: DualList with added items
Instead: DualList with items without any text
What version of the product are you using? On what operating system?
0.9.9c (latest release)
Please provide any additional information below.
Details and solution see posting in google group:
https://groups.google.com/forum/#!topic/opal-project/ViCufKZCoYU
Original issue reported on code.google.com by [email protected]
on 9 Apr 2014 at 10:01
What steps will reproduce the problem?
- I did not find the exact scenario to reproduce.
What is the expected output? What do you see instead?
- Please check the attached image.
What version of the product are you using? On what operating system?
- Occurs in all versions.
- Windows 7, x86_64
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 6 Nov 2014 at 5:09
Attachments:
What steps will reproduce the problem?
1. Start a time-consuming task.
2. Leaving the focus during the operation.
3. Wait until the job is done in that state.
4. Move the focus to the InfiniteProgressPanel.
What is the expected output? What do you see instead?
What version of the product are you using? On what operating system?
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 6 Nov 2014 at 6:14
Can you add gridsize and refreshTime options to SystemMonitor?
I can't subclass due to them being final and there are no helper getter/setters
etc.
G
Original issue reported on code.google.com by [email protected]
on 3 Nov 2012 at 11:10
What steps will reproduce the problem?
1. Create a form page containing OButton buttons
2. Keep the form page open for long time (6+ hour)
3. setEnabled(true) or setEnabled(false) an unhandled even loop exception is
thrown
What is the expected output? What do you see instead?
Expected to see rendered component.
What version of the product are you using? On what operating system?
Windows 7 embedded
Following trace is found:
!SESSION 2014-04-05 03:00:01.760 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_45
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_CH
Command-line arguments: -os win32 -ws win32 -arch x86 -console 5599
!ENTRY org.eclipse.e4.ui.workbench 4 0 2014-04-05 08:35:24.316
!MESSAGE Internal Error
!STACK 0
org.eclipse.swt.SWTError: No more handles
at org.eclipse.swt.SWT.error(SWT.java:4423)
at org.eclipse.swt.SWT.error(SWT.java:4312)
at org.eclipse.swt.SWT.error(SWT.java:4283)
at org.eclipse.swt.graphics.Image.createGdipImage(Image.java:882)
at org.eclipse.swt.graphics.GC.drawImage(GC.java:949)
at org.eclipse.swt.graphics.GC.drawImage(GC.java:900)
at org.mihalis.opal.obutton.AbstractButtonRenderer.drawImage(Unknown Source)
at org.mihalis.opal.obutton.AbstractButtonRenderer.draw(Unknown Source)
at org.mihalis.opal.obutton.AbstractButtonRenderer.drawButtonWhenDisabled(Unknown Source)
at org.mihalis.opal.obutton.OButton.onPaint(Unknown Source)
at org.mihalis.opal.obutton.OButton.access$100(Unknown Source)
at org.mihalis.opal.obutton.OButton$1.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1081)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Composite.WM_PAINT(Composite.java:1491)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4668)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4990)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2549)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:331)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:162)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
!ENTRY org.eclipse.e4.ui.workbench 4 0 2014-04-05 08:35:24.386
!MESSAGE Internal Error
!STACK 0
org.eclipse.swt.SWTException: Graphic is disposed
at org.eclipse.swt.SWT.error(SWT.java:4397)
at org.eclipse.swt.SWT.error(SWT.java:4312)
at org.eclipse.swt.SWT.error(SWT.java:4283)
at org.eclipse.swt.graphics.GC.setAdvanced(GC.java:4077)
at org.mihalis.opal.obutton.AbstractButtonRenderer.draw(Unknown Source)
at org.mihalis.opal.obutton.AbstractButtonRenderer.drawButtonWhenDisabled(Unknown Source)
at org.mihalis.opal.obutton.OButton.onPaint(Unknown Source)
at org.mihalis.opal.obutton.OButton.access$100(Unknown Source)
at org.mihalis.opal.obutton.OButton$1.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1057)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1081)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Composite.WM_PAINT(Composite.java:1491)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4668)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4990)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2549)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:331)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:162)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
Original issue reported on code.google.com by [email protected]
on 8 Apr 2014 at 9:15
Attachments:
When I disable/enable CheckBoxGroup all child widgets get enabled/disabled
Even though some of them were disabled before manual disabling by checkbox in
CheckBoxGroup
Original issue reported on code.google.com by [email protected]
on 24 Oct 2013 at 9:13
how can I set selected by default PWCheckbox?
Original issue reported on code.google.com by [email protected]
on 19 Jul 2014 at 9:22
I have a NullPointerException while setting the SelectionListener if I do not
add data to the MultiChoice before:
mcSL = new MultiChoice<PoJo>(main, SWT.NONE);
mcSL.setNumberOfColumns(4);
mcSL.setSeparator(" - ");
gridData = new GridData(SWT.FILL, SWT.BEGINNING, false, false);
mcSL.setLayoutData(gridData);
mcSL.setSelectionListener(new MultiChoiceSelectionListener<PoJo>(mcSL)
{
@Override
public void handle(MultiChoice<PoJo> parent, PoJo receiver, boolean selected, Shell popup)
{
}
});
Caused by: java.lang.NullPointerException
at org.mihalis.opal.multiChoice.MultiChoice.updateSelection(Unknown Source)
at org.mihalis.opal.multiChoice.MultiChoice.refresh(Unknown Source)
at org.mihalis.opal.multiChoice.MultiChoice.setSelectionListener(Unknown Source)
Original issue reported on code.google.com by [email protected]
on 12 Dec 2013 at 4:32
Just found your code library and started to use in my supersync app. Fantastic!
Some quick changes...
#1.
ImageSelector.java
change:
private void scrollAndAnimateBy(final int increment) {
if (this.index == 0 && increment < 0 || this.index == this.items.size() - 1 && increment > 0) {
return;
}
to
private void scrollAndAnimateBy(final int increment) {
if (increment == 0 || this.index == 0 && increment < 0 || this.index == this.items.size() - 1 && increment > 0) {
return;
}
If increment is 0 (and can be) step will be 0, and the animation will run
forever.
#2 SWTGraphicUtil.createReflectedResizedImage
Resource leak. This one is serious.
Change:
imgData.alphaData = alphaData;
return new Image(source.getDevice(), imgData);
imgData.alphaData = alphaData;
newImage.dispose(); // BHL Added 2015/04/20 to remove resource leak.
return new Image(source.getDevice(), imgData);
#3 ISItem.java (feature request)
Add constructor to allow any image.
public ISItem(final String title, final Image img)
{
setImage(img);
setText(title);
}
Original issue reported on code.google.com by bhLowe
on 20 Apr 2015 at 9:25
Bug 1)
Steps:-
a) create a sample bread crumb with few items
b)add selection listener and write dummy(like show pop up dialog box)
c) restore window.
d) position window in such a way that on maximize, mouse pointer will be at
bread crumb item.
e) double clcik on window to maximize
f) on maximize, mouseDdown event gets called and selection event gets fired.
Bug 2) When we drag a breadcrumb item it gets selected.
Thanks & Regards
Sumit
Original issue reported on code.google.com by [email protected]
on 10 Dec 2013 at 8:06
What steps will reproduce the problem?
1.create a shell
2.create a DarkPanel or a BlurredPanel
3.show the panel then hide it
4.create a new DarkPanel and show it
What is the expected output? What do you see instead?
it should be able to show the DarkPanel
What version of the product are you using? On what operating system?
latest
Please provide any additional information below.
when looked into the code I have found that a key DARK_PANEL_KEY is set to the
shell but this key is never put at null when hiding the panel.
I think this is a slite modification something like
this.parent.setData(DARK_PANEL_KEY, null); in the hide method.
Thank you
Original issue reported on code.google.com by [email protected]
on 3 Mar 2015 at 3:26
When using the Opal Dialog in a computer with Extended Desktop to two monitors,
Opal dialog is displayed in both monitors, like centering in the total Desktop,
which is not the desired behavior on any application.
The excected behavior is to center the Dialog where the application is running,
for example Monitor 1, or Monitor 2 only.
I am using Windows 7 64-bit and Opal 0.9.5.2
Original issue reported on code.google.com by [email protected]
on 5 Jun 2013 at 3:30
I want to dynamically create and remove some contents of the
TransitionComposite.
If i dispose a child of the composite, it generate a SWT Exception : Widget is
disposed.
This is due to the fact that the computeSize method uses the private attribute
'controls' and compute the size of each element of this list regardless their
disposed state.
Original issue reported on code.google.com by [email protected]
on 28 Oct 2013 at 1:27
What steps will reproduce the problem?
Dialog d = new Dialog(shell);
d.setCenterPolicy(Dialog.CenterOption.CENTER_ON_DIALOG);
d.setTitle("foo title");
d.getMessageArea().setTitle("aaaa").setText("bbbb");
d.getFooterArea().setButtonLabels(Arrays.asList("Don't Save", "Cancel"));
d.show();
What is the expected output? What do you see instead?
The "Don't Save" button only says "Don't S" because the button does not grow.
What version of the product are you using? On what operating system?
opal-0.9.9e Mac OS X 10.9.2
Please provide any additional information below.
screenshot
http://i.imgur.com/YSG3McW.png
Original issue reported on code.google.com by [email protected]
on 30 May 2014 at 9:07
Hi,
I'm trying to find a mature and reliable widget that can replace the SWT Table
class but I'm having a hard time on that task.
My problem with the SWT Table is:
I'm not able to change the table header background/foreground color.
So, as a suggestion, how about this idea for a new widget:
A Table Header that can be attached to a existing Table. So, this Table Header
widget will replace the header of the Table, and behave like it belongs to the
table.
This new component will have, at least, all the behaviors that a regular table
header has, plus the possibility to change the background and the foreground
individually (and maybe a separate context menu too!).
PS.: I tried to use NatTable from Nebula Project, and saw the Grid too, but,
they are not mature enough to me and NatTable is a completely different kind of
component, and with this I'll need to change all of my table implementations to
use it. Then, the idea of use the regular SWT Table came up.
Original issue reported on code.google.com by [email protected]
on 30 Sep 2014 at 2:43
Hey guys,
just to be quick. Information:
Used Version (library): opal-0.9.5.2.jar
I think other informations are not necessary.
Bug Description:
If you use the TitleSeperator in SWT.CENTER style, it will be the same as
SWT.RIGHT (default) just because in private method createContent() in case
SWT.CENTER you forgot to call createSeparator() again.
Possible solution/fix:
Just call createSeperator() after line 139 in TitledSeparator.java and you will
be fine.
Cheers
CollegeDev
Original issue reported on code.google.com by [email protected]
on 10 Oct 2013 at 6:21
Rather than overload the toString() function here, why not allow us to use a
label provider - something that knows how to format the object for display in
this widget. Yes, I would like to use toString() by default, but allowing me
to override it would make this widget more flexible.
Original issue reported on code.google.com by [email protected]
on 20 Sep 2012 at 5:31
What steps will reproduce the problem?
1. Create a DualList
2. Add DualListItem item
3. Set data on item, e.g. item.setData("MyKey","MyValue")
4. NPE is thrown
What is the expected output? What do you see instead?
Expected: Data is attached to the item
Result: NullPointerException
java.lang.NullPointerException
at org.mihalis.opal.OpalItem.setData(Unknown Source)
What version of the product are you using? On what operating system?
opal-0.9.9c
Please provide any additional information below.
The OpelItem, the DLItem extends provides methods to set and get data, but does
not initialize the map the data is stored in. As a result, the NPE is thrown.
See code at line 33 of OpelItem
https://code.google.com/a/eclipselabs.org/p/opal/source/browse/src/main/java/org
/mihalis/opal/OpalItem.java#33
Original issue reported on code.google.com by [email protected]
on 9 Apr 2014 at 10:05
What steps will reproduce the problem?
1. Create any Dialog with title text and the font is smaller than the normal
text
What is the expected output? What do you see instead?
Under Windows the fonts look correct as Segoe UI is bigger than the normal OS
fonts. OS X is different and this font is smaller.
What version of the product are you using? On what operating system?
v.095 on OS X 10.7.5
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 4 Nov 2012 at 10:10
What steps will reproduce the problem?
1.Create DualList dl
2.Create DLItem i
3.Call dl.add(i)
What is the expected output? What do you see instead?
According to the JavaDoc, I expected to see the new item in the UI. Instead
nothing is shown until i click the button to select all items at once
What version of the product are you using? On what operating system?
0.9.9e
Please provide any additional information below.
calling dl.setItem() / dl.setItems() internally draws the table. If not
changing add() behavior, the JavaDoc should at least point an API user to the
setItem / setItems methods
Original issue reported on code.google.com by [email protected]
on 29 Jun 2014 at 11:23
What steps will reproduce the problem?
1. Start OButton Snippet
What is the expected output? What do you see instead?
Shell with OButtons expected. Shell without TOGGLE and PUSH buttons, but ARROW
buttons appear.
What version of the product are you using? On what operating system?
Opal V0.9.5
Ubuntu 12.10 x86, Unity DE
Please provide any additional information below.
OButton doesn't process paint event
Original issue reported on code.google.com by [email protected]
on 30 Mar 2013 at 7:26
What steps will reproduce the problem?
I used the code from the samples on the wiki :
final int choice = Dialog.choice("What do you want to do with your game
in\nprogress?", "", 1, new ChoiceItem("Exit and save my game", "Save your game
in progress, then exit. "
+ "This will\noverwrite any previously saved games."), new ChoiceItem("Exit and don't save", "Exit without saving your game. "
+ "This is counted\nas a loss in your statistics."), new ChoiceItem("Don't exit", "Return to your game progress"));
System.out.println("Choice is..." + choice);
What is the expected output? What do you see instead?
Centered box on the screen, half outside box.
What version of the product are you using? On what operating system?
opal 0.9.5.2, Windows 8, note that i have 2 screens connected, and the second
is placed on the left of the screenshot (so the box isn't half on the other
screen)
See the screenshot :)
Original issue reported on code.google.com by [email protected]
on 22 Jan 2014 at 1:00
Attachments:
Hi,
at the moment the RoundedToolbar does not support vertical alignment.
It would be cool to have this feature.
Original issue reported on code.google.com by [email protected]
on 8 Jan 2015 at 9:01
What steps will reproduce the problem?
1. windows,jre 1.5_12;
2. use "SnippetInfiniteProgressPanel" test case;
3. click "Ok" ,pop InfiniteProgressPanel.
4. press ESC,InfiniteProgressPanel disappeared
5. click "Ok" , throw "org.eclipse.swt.SWTException: Widget is disposed"
Original issue reported on code.google.com by [email protected]
on 6 May 2011 at 9:23
What steps will reproduce the problem?
1. Create a RCP application with a view.
2. Write a code to create opal MultiChoice
What is the expected output? What do you see instead?
Expected output should be mutichoice iside RCP view
But, It is giving error like following:
java.lang.ClassNotFoundException: org.eclipse.swt.widgets.Composite
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:188)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:580)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:550)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:481)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:469)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:449)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:33)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:466)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
at com.sr.opalp.test.View.createPartControl(View.java:71)
at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:375)
at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:229)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)
at org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:529)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1254)
at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1207)
at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1606)
at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:647)
at org.eclipse.ui.internal.PartStack.createControl(PartStack.java:574)
at org.eclipse.ui.internal.PartSashContainer.createControl(PartSashContainer.java:568)
at org.eclipse.ui.internal.PerspectiveHelper.activate(PerspectiveHelper.java:272)
at org.eclipse.ui.internal.Perspective.onActivate(Perspective.java:981)
at org.eclipse.ui.internal.WorkbenchPage.onActivate(WorkbenchPage.java:2632)
at org.eclipse.ui.internal.WorkbenchWindow$27.run(WorkbenchWindow.java:2986)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:2967)
at org.eclipse.ui.internal.WorkbenchWindow.busyOpenPage(WorkbenchWindow.java:771)
at org.eclipse.ui.internal.Workbench$23.runWithException(Workbench.java:1221)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3515)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3164)
at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
at org.eclipse.ui.internal.Workbench$31.runWithException(Workbench.java:1567)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:179)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4282)
at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions(StartupThreading.java:94)
at org.eclipse.ui.internal.Workbench.init(Workbench.java:1562)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2567)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at com.sr.opalp.test.Application.start(Application.java:20)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
What version of the product are you using? On what operating system?
opal-0.9.5.2 in Linux(RHEL-5)
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 4 Jul 2013 at 6:24
What steps will reproduce the problem?
1. Build a table with PTIntegerEditor (or float)
2. while editing this filed remove letters until ""
3. Interger Parsing exeption is thrown
What is the expected output? What do you see instead?
-
What version of the product are you using? On what operating system?
V0.9.9e on win7
Please provide any additional information below.
In PTIntegerEditor:
...
public Object convertValue() {
return Integer.parseInt(this.text.getText());
...
a fix could be:
public Object convertValue() {
int ret = 0;
try{
ret = Integer.parseInt(this.text.getText());
}catch(NumberFormatException e){
ret = 0;
this.text.setText("0");
}
return ret;
}
Original issue reported on code.google.com by [email protected]
on 11 Jul 2014 at 11:24
What steps will reproduce the problem?
1. Try to create error dialog with text like "Illegal format <key>:<value>"
2. RuntimeException is thrown (!)
What is the expected output? What do you see instead?
Should be able to disable pseudo-HTML formatting or implement some kind of escaping.
What version of the product are you using? On what operating system?
1.0.1
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 20 Mar 2015 at 12:03
Component: MultiChoice
Bug description: If you use a bunch of data and add them to the MultiChoice box
the window (with the boxes) will bump out of the screen -> only a part of the
entries are visible. Same behavior with long char entries.
Possible Fix: Bound the window content inside a ScrolledComposite with fixed
size related to the display size (height-width).
Version: opal-v0.9.7
Original issue reported on code.google.com by [email protected]
on 7 Jan 2014 at 10:28
What steps will reproduce the problem?
1. Create any table.
2. Give it an item with id 'id' and display name 'name'.
3. String 'id' is shown in GUI instead of 'name'.
What is the expected output? What do you see instead?
ID name is shown instead of display name in table items.
What version of the product are you using? On what operating system?
Version 0.9.5.2 on Windows 7 / Eclipse Kepler RCP
Please provide any additional information below.
Bug is in line 139 of 'PTWidgetTable':
// use 'p.getDisplayName()' instead
item.setText(0, StringUtil.safeToString(p.getName()));
Original issue reported on code.google.com by [email protected]
on 16 Sep 2014 at 9:39
What steps will reproduce the problem?
1. Create a window with 2 SWT buttons and 1 OButton.
2. Open this window and press TAB.
3. Keep pressing TAB. The navigation will end-up at the OButton.
What is the expected output? What do you see instead?
In this case, its expected the navigation to continue endless, and not to
end-up on OButton.
What version of the product are you using? On what operating system?
0.9.5 on Windows 7
To solve this problem I used a KeyListener, like this:
button.addKeyListener( new KeyListener() {
@Override
public void keyReleased( KeyEvent e ) {
}
@Override
public void keyPressed( KeyEvent e ) {
if ( e.keyCode == SWT.TAB ) {
if ( e.stateMask == SWT.SHIFT ) {
button.traverse( SWT.TRAVERSE_TAB_PREVIOUS );
} else {
button.traverse( SWT.TRAVERSE_TAB_NEXT );
}
}
}
} );
Original issue reported on code.google.com by [email protected]
on 28 Dec 2012 at 12:53
What steps will reproduce the problem?
1. Create a table
2. Try to get notified when the user adds or removes items to / from the
selected list
What is the expected output? What do you see instead?
An api to register listeners that are notified when a (de-)selection is done.
The listeners that can be registered so far are widget event listeners and not
notified when a user modifies the item lists. see selectItems.
Subclassing DualList is not possible as the itemsTable is private and wouldn't
even allow to get notified if all items are moved at once.
What version of the product are you using? On what operating system?
0.9.9c
Please provide any additional information below.
I would recommend to extende the DualList with
1) A separate interface for listeners to be notified when the current selection
is changed by the user
2) Methods to add or remove such listeners
3) Enhancing selectItems() and deselectItems() to notify those listeners
4) Improve JavaDoc to better differentiate between
select()/selectAll()/deselect()/deselectAll() and the
selectItems()/deselectItems() methods.+
For 1 to 3 you can find the according code recommmendation attached to this
issue. Please note, that the attached code contains the bug fix decribed for
issue 26 as well.
Original issue reported on code.google.com by [email protected]
on 10 Apr 2014 at 8:35
Attachments:
Hello,
In itemSelector.DualItem, getLastAction() has default visibility. I believe
public visibility would be more appropriate, it is needed to run the example
from the wiki.
version: 0.9.9e
Regards
Original issue reported on code.google.com by [email protected]
on 20 Jun 2014 at 10:00
When using dialog in a progress bar way, the setText should be able to update
the text on the dialog that corresponds with updating the progressbar.
Original issue reported on code.google.com by [email protected]
on 4 Dec 2012 at 11:27
I was using The Column Snippet
1.Run
2.Select colors, g, r, e, e, n
3.Then Select again last 'e'
4.The Bug
The frame closed and a stack trace printed instead of selecting e
What version of the product are you using? On what operating system?
I am using release 0.9.5 and my OS is Windows 7 x86
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 5, Size:
3
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at org.mihalis.opal.columns.ColumnBrowserWidget.selectItem(Unknown Source)
at org.mihalis.opal.columns.ColumnBrowserWidget.access$100(Unknown Source)
at org.mihalis.opal.columns.ColumnBrowserWidget$3.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at org.mihalis.opal.columns.ColumnsSnippet.main(ColumnsSnippet.java:52)
Original issue reported on code.google.com by [email protected]
on 26 Dec 2012 at 10:33
What steps will reproduce the problem?
1. Not sure, it happens all the time for me.
What is the expected output? What do you see instead?
I see images rendered in the wrong place
What version of the product are you using? On what operating system?
On windows, downloaded just now from google code.
Please provide any additional information below.
Composite container = new Composite(parent, SWT.None);
GridLayout gridLayout = new GridLayout(1, true);
container.setLayout(gridLayout);
final Breadcrumb bc = new Breadcrumb(container, SWT.None);
bc.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
final BreadcrumbItem item = new BreadcrumbItem(bc, SWT.TOGGLE);
item.setImage(u.core.util.SWTResourceManager.getImage("C:\\Users\\greenbergj\\workspace\\UltraTTY-SRC\\u.core\\icons\\house.png"));
item.setSelectionImage(u.core.util.SWTResourceManager.getImage("C:\\Users\\greenbergj\\workspace\\UltraTTY-SRC\\u.core\\icons\\house.png"));
item.setText("Text");
final BreadcrumbItem item2 = new BreadcrumbItem(bc, SWT.TOGGLE);
item2.setImage(u.core.util.SWTResourceManager.getImage("C:\\Users\\greenbergj\\workspace\\UltraTTY-SRC\\u.core\\icons\\funnel.png"));
item2.setSelectionImage(u.core.util.SWTResourceManager.getImage("C:\\Users\\greenbergj\\workspace\\UltraTTY-SRC\\u.core\\icons\\funnel.png"));
item2.setText("Text2");
final BreadcrumbItem item3 = new BreadcrumbItem(bc, SWT.PUSH);
item3.setImage(SWTResourceManager.getImage("C:\\Users\\greenbergj\\workspace\\UltraTTY-SRC\\u.core\\icons\\add.png"));
item3.setSelectionImage(u.core.util.SWTResourceManager.getImage("C:\\Users\\greenbergj\\workspace\\UltraTTY-SRC\\u.core\\icons\\funnel.png"));
Composite treeContainer = new Composite(container, SWT.None);
treeContainer.setLayout(new FillLayout(SWT.HORIZONTAL));
treeContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
container.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
super.createComponent(treeContainer, iWorkbenchPartSite);
Original issue reported on code.google.com by [email protected]
on 31 Mar 2014 at 7:48
Attachments:
Hey,
notifiers normally intended to stay on top of the window. But the notifier
doesn't do that.
Version: 0.9.5.2
Bugfix: Just add the flag SWT.ON_TOP at the constructor in Notifier.java class
at line 115.
Btw, when you will upload a library version (*.jar) here at google-code? It
would be nice to have the newest source as lib.
Thanks
Original issue reported on code.google.com by [email protected]
on 19 Nov 2013 at 7:03
What steps will reproduce the problem?
1. Insert items without images
2. the items' names must be long enough to exceed the witdh thint of 200
3. Open the view containing the dual list
What is the expected output? What do you see instead?
The items are displayed as width as the table is. Currently, the items are
trimed even if the table is big enought (see screenshot attached).
What version of the product are you using? On what operating system?
windows 7, eclipse kepler SR2, Opal 0.9.9e
Please provide any additional information below.
The problem can be solved by extending the DualList.setBounds method with
calling pack() on the table columns containing the text.
See this code for the fix:
https://github.com/kopl/SPLevo/commit/07873f4a2a837744c75325f44ec7b254ab758600#d
iff-26aed469b81ddbc02be9c2afdfd6a6dfR1053
Original issue reported on code.google.com by [email protected]
on 3 Jul 2014 at 8:19
Attachments:
I am looking for a multiple choice combo widget, that will also allow the user
to enter the value(s) they want. My users often know what they want to choose
from the list, and do not want to use the mouse to click/select. Such as if
the list contains:
USA
USSR
CHINA
CUBA
AUSTRALIA
DENMARK
CANADA
They would type in the entry field: USA,CHINA
This would validate to select the USA and CHINA items in the list.
If it's invalid - then an indicator would be nice. Yes, this would require
using a validator and that the separator character be used to separate the
choices.
Original issue reported on code.google.com by [email protected]
on 20 Sep 2012 at 5:28
What steps will reproduce the problem?
1. Create a form page containing a switch button
2. Keep the form page open for long time (1+ hour)
3. Focus on the window, an unhandled even loop exception is thrown
What is the expected output? What do you see instead?
Expected to see rendered component.
Following trace is found
org.eclipse.swt.SWTException: Graphic is disposed
at org.eclipse.swt.SWT.error(SWT.java:4282)
at org.eclipse.swt.SWT.error(SWT.java:4197)
at org.eclipse.swt.SWT.error(SWT.java:4168)
at org.eclipse.swt.graphics.GC.stringExtent(GC.java:4930)
at org.mihalis.opal.switchButton.SwitchButton.computeButtonSize(SwitchButton.java:350)
at org.mihalis.opal.switchButton.SwitchButton.computeSize(SwitchButton.java:495)
at org.eclipse.swt.layout.GridData.computeSize(GridData.java:491)
at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:218)
at org.eclipse.swt.layout.GridLayout.computeSize(GridLayout.java:163)
at org.eclipse.swt.widgets.Composite.computeSize(Composite.java:233)
at org.eclipse.ui.forms.widgets.LayoutComposite.computeSize(LayoutComposite.java:35)
at org.eclipse.swt.layout.GridData.computeSize(GridData.java:491)
at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:218)
at org.eclipse.swt.layout.GridLayout.computeSize(GridLayout.java:163)
at org.eclipse.swt.widgets.Composite.computeSize(Composite.java:233)
at org.eclipse.ui.forms.widgets.LayoutComposite.computeSize(LayoutComposite.java:35)
at org.eclipse.swt.layout.GridData.computeSize(GridData.java:491)
at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:218)
at org.eclipse.swt.layout.GridLayout.layout(GridLayout.java:194)
at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1263)
at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1249)
at org.eclipse.swt.widgets.Composite.layout(Composite.java:664)
at org.eclipse.swt.widgets.Composite.layout(Composite.java:622)
at org.eclipse.ui.forms.widgets.SizeCache.layoutIfNecessary(SizeCache.java:525)
at org.eclipse.ui.forms.widgets.SizeCache.setBounds(SizeCache.java:511)
at org.eclipse.ui.forms.widgets.Form$FormLayout.layout(Form.java:159)
at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1263)
at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1270)
at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1270)
at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1270)
at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1270)
at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1270)
at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1270)
at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1270)
at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1270)
at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1270)
at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:1249)
at org.eclipse.swt.widgets.Composite.layout(Composite.java:664)
at org.eclipse.swt.widgets.Display.runSettings(Display.java:4229)
at org.eclipse.swt.widgets.Display.messageProc(Display.java:3351)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2531)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3752)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.tizen.theme.application.ThemeApplication.start(ThemeApplication.java:70)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
What version of the product are you using? On what operating system?
Windows 7
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 5 Nov 2012 at 5:32
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.