X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fplat%2FX11.cc;h=53e20dee7aaf4b134b2178e21bdca3dc8d82a2c3;hb=a6c4f7b784acf2269c33188982b0d479cc11a0f4;hp=0252a818f9c51da1dfe24bed6ef96a4900bbab8c;hpb=bf0e7b510f32df7da4684fd19fc55aef8156e9f5;p=org.ibex.core.git diff --git a/src/org/ibex/plat/X11.cc b/src/org/ibex/plat/X11.cc index 0252a81..53e20de 100644 --- a/src/org/ibex/plat/X11.cc +++ b/src/org/ibex/plat/X11.cc @@ -397,7 +397,7 @@ void org::ibex::plat::X11$X11Surface::natInit() { XTextProperty tp; tp.value = (unsigned char*)"Ibex"; - tp.nitems = 3; + tp.nitems = 4; tp.encoding = XA_STRING; tp.format = 8; XSetTextProperty(display, (*((Window*)window)), &tp, XA_WM_CLASS); @@ -769,6 +769,34 @@ void org::ibex::plat::X11::natInit() { org::ibex::util::Log::info(this->getClass(), JvNewStringLatin1(buf)); } +//#include "WINGs/WINGs.h" +jstring org::ibex::plat::X11::_fileDialog(jstring suggestedFileName, jboolean write) { +#ifdef asfasdfasf + int argc = 1; + char* argv[2]; + argv[0] = "Ibex"; + argv[1] = NULL; + // FIXME see WINGs/Tests/filedialog.c for more info... need an icon + WMInitializeApplication("Ibex", &argc, argv); + WMScreen *scr = WMCreateSimpleApplicationScreen(display); + int len = min(1024, JvGetStringUTFLength(suggestedFileName)); + char buf[len + 1]; + JvGetStringUTFRegion(suggestedFileName, 0, len, buf); + buf[len] = '\0'; + if (write) { + WMSavePanel *sPanel; + sPanel = WMGetSavePanel(scr); + if (WMRunModalFilePanelForDirectory(sPanel, NULL, buf, /*title*/ NULL, NULL) != True) return NULL; + return JvNewStringLatin1(WMGetFilePanelFileName(sPanel)); + } else { + WMOpenPanel *oPanel; + oPanel = WMGetOpenPanel(scr); + if (WMRunModalFilePanelForDirectory(oPanel, NULL, buf, /*title*/ NULL, NULL) != True) return NULL; + return JvNewStringLatin1(WMGetFilePanelFileName(oPanel)); + } +#endif + return NULL; +} //////////////////////////////////////////////////////////////////////////////