Select Git revision
GModelIO_P3D.cpp
pluginWindow.cpp 11.86 KiB
// Gmsh - Copyright (C) 1997-2019 C. Geuzaine, J.-F. Remacle
//
// See the LICENSE.txt file for license information. Please report all
// issues on https://gitlab.onelab.info/gmsh/gmsh/issues.
#include "GmshConfig.h"
#if !defined(HAVE_NO_STDINT_H)
#include <stdint.h>
#elif defined(HAVE_NO_INTPTR_T)
typedef unsigned long intptr_t;
#endif
#include <vector>
#include <string.h>
#include <FL/Fl_Return_Button.H>
#include <FL/Fl_Group.H>
#include <FL/Fl_Value_Input.H>
#include <FL/Fl_Input.H>
#include <FL/Fl_Box.H>
#include <FL/Fl_Tabs.H>
#include <FL/Fl_Scroll.H>
#include <FL/Fl_Help_View.H>
#include "FlGui.h"
#include "drawContext.h"
#include "pluginWindow.h"
#include "paletteWindow.h"
#include "PView.h"
#include "PluginManager.h"
#include "Plugin.h"
#include "GModel.h"
#include "MVertex.h"
#include "Context.h"
#include "GeoStringInterface.h"
#include "StringUtils.h"
#include "OS.h"
#define MAX_PLUGIN_OPTIONS 50
class PluginDialogBox {
public:
Fl_Group *group;
Fl_Value_Input *value[MAX_PLUGIN_OPTIONS];
Fl_Input *input[MAX_PLUGIN_OPTIONS];
};
void plugin_cb(Fl_Widget *w, void *data)
{
FlGui::instance()->plugins->show((intptr_t)data);
}
static void plugin_input_value_cb(Fl_Widget *w, void *data)
{
double (*f)(int, int, double) = (double (*)(int, int, double))data;
Fl_Value_Input *input = (Fl_Value_Input *)w;
f(-1, 0, input->value());
}
static void plugin_input_cb(Fl_Widget *w, void *data)
{
std::string (*f)(int, int, std::string) =
(std::string(*)(int, int, std::string))data;
Fl_Input *input = (Fl_Input *)w;
f(-1, 0, input->value());
}
static void plugin_browser_cb(Fl_Widget *w, void *data)
{
// get selected plugin
GMSH_Plugin *p = 0;
for(int i = 1; i <= FlGui::instance()->plugins->browser->size(); i++) {
if(FlGui::instance()->plugins->browser->selected(i)) {
p = (GMSH_Plugin *)FlGui::instance()->plugins->browser->data(i);