<< " to " << TypeName(target_type) << std::endl);
void* target_pointer = 0;
-#if __GNUC__ > 3 || \
- (__GNUC__ == 3 && (__GNUC_MINOR__ > 1 || \
+
+
+
+#if __APPLE__
+ //EED2018-08-28 Be careful #include <typeinfo> is not complete (CommandLine mechanisme Xcode)
+ printf("EED bbtkRTTI run_time_up_or_down_cast 2018-08-28 Warnning !!!! Apple cast missing __do_upcast ");
+ return source_pointer;
+#else
+ #if __GNUC__ > 3 || \
+ (__GNUC__ == 3 && (__GNUC_MINOR__ > 1 || \
(__GNUC_MINOR__ == 1 && \
__GNUC_PATCHLEVEL__ > 0)))
void* tmp = source_pointer;
if (source_type.__do_upcast(targetTI,&tmp))
- {
- target_pointer = tmp;
- }
- else
- {
- bbtkDebugMessage("data",7,
+ {
+ target_pointer = tmp;
+ } else {
+ bbtkDebugMessage("data",7,
" * upcast failed : trying dynamic down cast"
<<std::endl);
- const abi::__class_type_info* sourceTI =
- (const abi::__class_type_info *)( &(source_type));
-
-
- target_pointer = abi::__dynamic_cast(source_pointer,
+ const abi::__class_type_info* sourceTI = (const abi::__class_type_info *)( &(source_type));
+ target_pointer = abi::__dynamic_cast(source_pointer,
sourceTI,
targetTI,
-1);
}
-
- bbtkDebugMessage("data",7," * target = "<<target_pointer<<std::endl);
-
-#else
+ bbtkDebugMessage("data",7," * target = "<<target_pointer<<std::endl);
+ #else
bbtkWarning("run_time_up_or_down_cast not impl. on Win : to do");
// target_pointer = __RTDynamicCast(source_pointer, 0, source_type, target_type, 0);
-#endif
+ #endif
return target_pointer;
+#endif
}
//#include "WWW.h"
#ifdef BBTK_EXPORT_SYMBOLS
#define BBTK_EXPORT __declspec( dllexport )
-#else
+ #else
#define BBTK_EXPORT __declspec( dllimport )
#endif
#define BBTK_CDECL __cdecl
#define BBTK_STRINGIFY(A) #A
#define BBTK_STRINGIFY_SYMBOL(A) BBTK_STRINGIFY(A)
+
extern "C"
{
BBTK_EXPORT inline const std::string& BBTK_CDECL GetVersion()
}
}
+
}
//-----------------------------------------------------------------------------
#ifdef CMAKE_HAVE_STDINT_H
#include <stdint.h>
#else
-#ifdef CMAKE_HAVE_INTTYPES_H
- // Old system only have this
- #include <inttypes.h> // For uint8_t uint16_t and uint32_t
-#else
- //#include "XXX.h"
-// Broken plateforms do not respect C99 and do not provide those typedef
-// Special case for recent Borland compiler, comes with stdint.h
-#if defined(_MSC_VER) || defined(__BORLANDC__) && (__BORLANDC__ < 0x0560) \
- || defined(__MINGW32__)
-typedef signed char int8_t;
-typedef signed short int16_t;
-typedef signed int int32_t;
-typedef unsigned char uint8_t;
-typedef unsigned short uint16_t;
-typedef unsigned int uint32_t;
-
-/// \todo Find a clever way to deal with int64_t, uint64_t
-
-#else
-#error "Sorry your plateform is not supported"
-#endif // defined(_MSC_VER) || defined(__BORLANDC__) && (__BORLANDC__ < 0x0560) || defined(__MINGW32__)
-#endif // CMAKE_HAVE_INTTYPES_H
+ #ifdef CMAKE_HAVE_INTTYPES_H
+ // Old system only have this
+ #include <inttypes.h> // For uint8_t uint16_t and uint32_t
+ #else
+ //#include "XXX.h"
+ // Broken plateforms do not respect C99 and do not provide those typedef
+ // Special case for recent Borland compiler, comes with stdint.h
+ #if defined(_MSC_VER) || defined(__BORLANDC__) && (__BORLANDC__ < 0x0560) \
+ || defined(__MINGW32__)
+ typedef signed char int8_t;
+ typedef signed short int16_t;
+ typedef signed int int32_t;
+ typedef unsigned char uint8_t;
+ typedef unsigned short uint16_t;
+ typedef unsigned int uint32_t;
+ /// \todo Find a clever way to deal with int64_t, uint64_t
+ #else
+ #error "Sorry your plateform is not supported"
+ #endif // defined(_MSC_VER) || defined(__BORLANDC__) && (__BORLANDC__ < 0x0560) || defined(__MINGW32__)
+ #endif // CMAKE_HAVE_INTTYPES_H
#endif // CMAKE_HAVE_STDINT_H
// Basically for VS6 and bcc 5.5.1:
#ifndef UINT32_MAX
-#define UINT32_MAX (4294967295U)
+ #define UINT32_MAX (4294967295U)
#endif
// file separator
#if defined(_WIN32)
-#define VALID_FILE_SEPARATOR "\\"
-#define INVALID_FILE_SEPARATOR "/"
-#define VALID_FILE_SEPARATOR_CHAR '\\'
-#define INVALID_FILE_SEPARATOR_CHAR '/'
+ #define VALID_FILE_SEPARATOR "\\"
+ #define INVALID_FILE_SEPARATOR "/"
+ #define VALID_FILE_SEPARATOR_CHAR '\\'
+ #define INVALID_FILE_SEPARATOR_CHAR '/'
#else
-#define INVALID_FILE_SEPARATOR "\\"
-#define VALID_FILE_SEPARATOR "/"
-#define INVALID_FILE_SEPARATOR_CHAR '\\'
-#define VALID_FILE_SEPARATOR_CHAR '/'
+ #define INVALID_FILE_SEPARATOR "\\"
+ #define VALID_FILE_SEPARATOR "/"
+ #define INVALID_FILE_SEPARATOR_CHAR '\\'
+ #define VALID_FILE_SEPARATOR_CHAR '/'
#endif
-#endif
+
+#endif //__bbtkSystem_h__
//----------------------------
* \defgroup interface Graphical User Interface components
* \defgroup data Data
*/
+
+
//DFGO -> To identify it is a box
sendtext += crea::std2wx("box:");
sendtext += crea::std2wx(d->GetFullTypeName());
+ sendtext += _T("<EndEED>");
+ printf("EED WxGUIBlackBoxList::OnBeginDrag <%s>%d <%s>%d\n",
+ (const char*)sendtext.mb_str(),sendtext.Len() , d->GetFullTypeName().c_str() , d->GetFullTypeName().length() );
}
- }
- else
- {
+ } else {
wxFAIL_MSG(wxT("wxListCtrl::GetItem() failed"));
}
wxTextDataObject tdo(sendtext);
+ printf("EED WxGUIBlackBoxList::OnBeginDrag <%s>\n",(const char*) tdo.GetText().mb_str() );
+
wxDropSource tds(tdo, this);
- tds.DoDragDrop();
+ tds.DoDragDrop( );
// const wxPoint& pt = event.m_pointDrag;