Yes,
I run my Eclipse plugin (modified UMLet plugin) inside
Eclipse
IDE for C/C++ Developers
Version:
2019-06 (4.12.0)
Build
id: 20190614-1200
Honestly
speaking I am not sure whether UMLet Eclipse
eventually will mix SWT and AWT, but I just added
extra CDT jars and some Eclipse platform jars to UMLet
plugin. However one possible good symptom is that
umlet-gwt failed to compile in my environment while I
can still get umlet-eclipse-plugin jar file. If my
assumption that Eclipse platform jars and CDT jars do
not use AWT is valid, then I should not mix SWT and
AWT together. Since original UMLet Eclipse plugin
works well for Eclipse, I’d like to assume they should
have solved SWT AWT harmony issue well (?).
The
following code run well although nothing happen
eventually:
private
void generateAClass(String classname)
{
IWorkbench workbench = PlatformUI.getWorkbench();
workbench.getDisplay().asyncExec(new Runnable() {
public void run() {
NewClassCreationWizard wizard = new
NewClassCreationWizard();
wizard.setClassName(fileName);
wizard.addPages();
wizard.performFinish();
}
});
JOptionPane.showMessageDialog(
null, classname );
}
But
this code hangs again:
public
class EclipseOpenFile /*extends SectionPart */{
private static final Logger log =
LoggerFactory.getLogger(DiagramFileHandler.class);
public static void createClass(String location, String
classname) {
Path headerPath = new Path(location + "\\include\\" +
classname + ".h");
JOptionPane.showMessageDialog( null,
headerPath.toString());
Path sourcePath = new Path(location + "\\src\\"+
classname + ".cpp");
IWorkbench workbench = PlatformUI.getWorkbench();
workbench.getDisplay().asyncExec(new Runnable() {
public void run() {
NewClassCodeGenerator generator = new
NewClassCodeGenerator(headerPath
, sourcePath
, null
, classname
, null, null, null);
JOptionPane.showMessageDialog( null,
"NewClassCodeGenerator");
try
{
generator.createClass(new
NullProgressMonitor());
JOptionPane.showMessageDialog(
null, "createClass");
} catch (CoreException e) {
JOptionPane.showMessageDialog( null, "CoreException");
} catch (Exception e) {
JOptionPane.showMessageDialog( null, "Exception");
}
}
});
}
The
program did not come to:
JOptionPane.showMessageDialog(
null, "NewClassCodeGenerator");
If
I removed workbench.getDisplay().asyncExec(new
Runnable() and have the rest directly under
creatClass(), the result is the same.
Desperately
need all of yours guide. Actual working code better.
Thanks.
Sent
from
Mail for Windows 10
Hi,
I
think mixing SWT and AWT is going to give you no end
of issues, it is possible, but I would try to stick
to one or the other. If you need to use both, read
up about the SWT AWT bridges.
The
code snippet sounds like it is throwing an exception
or is hanging. That line (indirectly) does
this CUIPlugin.getDefault().getDialogSettings()
which needs an Eclipse workspace. Do you have an
Eclipse workspace?
However
you said you didn't want an SWT wizard anyway so
read the source of the wizard and you can reuse the
source too (as long as you license your code with
the EPL), for example, look
at NewClassCodeGenerator, it is instantiated by
NewClassCreationWizardPage.createClass().
Hi
Alexander and All,
I
changed code to:
JOptionPane.showMessageDialog(
null, "generateAClass" );
NewClassCreationWizard
page = new NewClassCreationWizard();
JOptionPane.showMessageDialog(
null, classname );
But
the same result (only see first
showMessageDialog).
In
fact I don't need Wizard popup window. I just
need to have a simple way to create .h and
.cpp files. If possible, please give me a
almost there snipet.
Thanks.
Sent
from
Mail for Windows 10
Hi Ming Cheng,
You need to read a bit about how Eclipse
JFace and Eclipse Workbench is working. I
added the answer below to your GitHub issue
as well.
> NewClassCreationWizardPage page = new
NewClassCreationWizardPage();
the WizardPage is designed to live inside
the Wizard. Please have a closer look to the
surrounding code, where should be a Wizard
that instantiates this page. What you need
to "emulate" the result of wizard work is
the content of its "performFinish()" method.
Regards,
AF
13.12.2019 12:59, Ming
Cheng пишет:
Hi Jonah,
I am following your
suggestion about new C++ class but can’t
move. I logged an issue to “my” tool
https://github.com/umlet/umlet/issues/562
Thanks.
Sent from
Mail for Windows 10
Hi,
I had a quick look at
all these questions - I am not
surprised that no one has answered on the
forums, the forums are really meant for
Users of the Eclipse CDT IDE - i.e. people
writing C/C++ code.
I don't have answers
to most of your questions, but I can try
an answer on some of them:
> How to stop
inserting same include stmt more than once
Try looking at how
organize imports in CDT is implemented, it
manipulates includes so may give you a
good idea.
> How to load a
file content into a new editor tab
Look up the IDE class
in Eclipse platform (such as openEditor
method)
> How to use CDT to
create a .h with a class decl?
Look how the new C++
class wizard is implemented for some
clues.
I
I don't t
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To change your delivery options, retrieve
your password, or unsubscribe from this
list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
To change your delivery options, retrieve your
password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/cdt-dev