#include "cmdlib.h"
#include "scenelib.h"
#include "stream/stringstream.h"
+#include "signal/isignal.h"
#include "os/path.h"
#include "os/file.h"
#include "eclasslib.h"
Radiant_detachHomePathsObserver(g_VFSModuleObserver);
}
-
// Home Paths
void HomePaths_Realise()
{
-#if defined (__linux__) || defined (__APPLE__)
+#if defined(POSIX)
const char* prefix = g_pGameDescription->getKeyValue("prefix");
if(!string_empty(prefix))
{
const char* const c_library_extension =
#if defined(WIN32)
"dll"
-#elif defined(__linux__)
-"so"
#elif defined (__APPLE__)
"dylib"
+#elif defined(__linux__) || defined (__FreeBSD__)
+"so"
#endif
;
void Copy()
{
- if(GlobalSelectionSystem().Mode() == SelectionSystem::ePrimitive)
+ if(SelectedFaces_empty())
{
Selection_Copy();
}
void Paste()
{
- if(GlobalSelectionSystem().Mode() == SelectionSystem::ePrimitive)
+ if(SelectedFaces_empty())
{
UndoableCommand undo("paste");
}
};
-FreeCaller1<const BoolImportCallback&, BoolFunctionExport<EdgeMode>::apply> g_edgeMode_button_caller;
+typedef FreeCaller1<const BoolImportCallback&, &BoolFunctionExport<EdgeMode>::apply> EdgeModeApplyCaller;
+EdgeModeApplyCaller g_edgeMode_button_caller;
BoolExportCallback g_edgeMode_button_callback(g_edgeMode_button_caller);
ToggleItem g_edgeMode_button(g_edgeMode_button_callback);
-FreeCaller1<const BoolImportCallback&, BoolFunctionExport<VertexMode>::apply> g_vertexMode_button_caller;
+typedef FreeCaller1<const BoolImportCallback&, &BoolFunctionExport<VertexMode>::apply> VertexModeApplyCaller;
+VertexModeApplyCaller g_vertexMode_button_caller;
BoolExportCallback g_vertexMode_button_callback(g_vertexMode_button_caller);
ToggleItem g_vertexMode_button(g_vertexMode_button_callback);
-FreeCaller1<const BoolImportCallback&, BoolFunctionExport<FaceMode>::apply> g_faceMode_button_caller;
+typedef FreeCaller1<const BoolImportCallback&, &BoolFunctionExport<FaceMode>::apply> FaceModeApplyCaller;
+FaceModeApplyCaller g_faceMode_button_caller;
BoolExportCallback g_faceMode_button_callback(g_faceMode_button_caller);
ToggleItem g_faceMode_button(g_faceMode_button_callback);
MainWindowActive g_MainWindowActive;
+SignalHandlerId XYWindowDestroyed_connect(const SignalHandler& handler)
+{
+ return g_pParentWnd->GetXYWnd()->onDestroyed.connectFirst(handler);
+}
+
+void XYWindowDestroyed_disconnect(SignalHandlerId id)
+{
+ g_pParentWnd->GetXYWnd()->onDestroyed.disconnect(id);
+}
+
+MouseEventHandlerId XYWindowMouseDown_connect(const MouseEventHandler& handler)
+{
+ return g_pParentWnd->GetXYWnd()->onMouseDown.connectFirst(handler);
+}
+
+void XYWindowMouseDown_disconnect(MouseEventHandlerId id)
+{
+ g_pParentWnd->GetXYWnd()->onMouseDown.disconnect(id);
+}
+
// =============================================================================
// MainFrame class
const char* ENGINEPATH_ATTRIBUTE =
#if defined(WIN32)
"enginepath_win32"
-#elif defined(__linux__)
+#elif defined(__linux__) || defined (__FreeBSD__)
"enginepath_linux"
#elif defined(__APPLE__)
"enginepath_macos"