Ejemplo n.º 1
0
void TrackPropDlg::OnHyperLinkClick( wxHyperlinkEvent &event )
{
    if( m_toggleBtnEdit->GetValue() ) {
        m_pEditedLink = (wxHyperlinkCtrl*) event.GetEventObject();
        OnEditLink( event );
        event.Skip( false );
        return;
    }
    //    Windows has trouble handling local file URLs with embedded anchor points, e.g file://testfile.html#point1
    //    The trouble is with the wxLaunchDefaultBrowser with verb "open"
    //    Workaround is to probe the registry to get the default browser, and open directly
    //
    //    But, we will do this only if the URL contains the anchor point charater '#'
    //    What a hack......

#ifdef __WXMSW__

    wxString cc = event.GetURL();
    if( cc.Find( _T("#") ) != wxNOT_FOUND ) {
        wxRegKey RegKey( wxString( _T("HKEY_CLASSES_ROOT\\HTTP\\shell\\open\\command") ) );
        if( RegKey.Exists() ) {
            wxString command_line;
            RegKey.QueryValue( wxString( _T("") ), command_line );

            //  Remove "
            command_line.Replace( wxString( _T("\"") ), wxString( _T("") ) );

            //  Strip arguments
            int l = command_line.Find( _T(".exe") );
            if( wxNOT_FOUND == l ) l = command_line.Find( _T(".EXE") );

            if( wxNOT_FOUND != l ) {
                wxString cl = command_line.Mid( 0, l + 4 );
                cl += _T(" ");
                cc.Prepend( _T("\"") );
                cc.Append( _T("\"") );
                cl += cc;
                wxExecute( cl );        // Async, so Fire and Forget...
            }
        }
    } else
        event.Skip();
#else
    wxString url = event.GetURL();
    url.Replace(_T(" "), _T("%20") );
    ::wxLaunchDefaultBrowser(url);
//    event.Skip();
#endif
}
Ejemplo n.º 2
0
void unloadSam(IO &io,char *args)
{
	RegKey(L"Machine\\SAM").flush();

	RegKey machine(L"Machine\\");
	UnicodeString key(L"SAM");

	OBJECT_ATTRIBUTES dest;
	InitializeObjectAttributes(
		&dest,
		&key.unicode_string(),
		OBJ_CASE_INSENSITIVE,
		machine.get_handle(),
		NULL);
	ULONG status = NtUnloadKey(&dest);
	CHECKER(status)
}
Ejemplo n.º 3
0
//--------------------------------------------------------------------------------
bool iPoseApp::OnInit()
//--------------------------------------------------------------------------------
{
  mafPictureFactory::GetPictureFactory()->Initialize();
  #include "iPose/pic/FRAME_ICON16x16.xpm"
  mafADDPIC(FRAME_ICON16x16);
  
  #include "iPose/pic/FRAME_ICON32x32.xpm"
  mafADDPIC(FRAME_ICON32x32);
    
  #include "iPose/pic/MDICHILD_ICON.xpm"
  mafADDPIC(MDICHILD_ICON);

  int result;
 
  result = medVMEFactory::Initialize();
  assert(result == MAF_OK);

	result = medPipeFactoryVME::Initialize();
	assert(result==MAF_OK);

  result = mafInteractionFactory::Initialize();
  assert(result==MAF_OK);

  m_Logic = new mafLogicWithManagers();
  m_Logic->GetTopWin()->SetTitle("iPose");
  m_Logic->Configure();
  SetTopWindow(mafGetFrame());  

	wxRegKey RegKey(wxString("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\iPose"));
	if(RegKey.Exists())
	{
		RegKey.Create();
		wxString revision;
		RegKey.QueryValue(wxString("DisplayVersion"), revision);
		m_Logic->SetRevision(revision);
	}
	else
	{
		wxString revision="0.1";
		m_Logic->SetRevision(revision);
	}

  //------------------------- Importers -------------------------
  medGUIDicomSettings *dicomSettings=new medGUIDicomSettings(NULL,"DICOM");
  m_Logic->Plug(new medOpImporterDicomOffis("DICOM"),"Images",true,dicomSettings);
  m_Logic->Plug(new mafOpImporterSTL("STL"),"Geometries");
  //-------------------------------------------------------------

  //------------------------- Exporters -------------------------
  m_Logic->Plug(new mafOpExporterSTL("STL"),"Geometries");
  //-------------------------------------------------------------

  //------------------------- Operations -------------------------
  m_Logic->Plug(new iposeOpMove(),"Move");
  m_Logic->Plug(new mafOp2DMeasure(),"Measure");
  //-------------------------------------------------------------

  //------------------------- Views -------------------------
  mafViewVTK *viso = new mafViewVTK("Isosurface");
  viso->PlugVisualPipe("mafVMEVolumeGray", "mafPipeIsosurface",MUTEX);
  viso->PlugVisualPipe("medVMELabeledVolume", "mafPipeIsosurface",MUTEX);
  viso->PlugVisualPipe("mafVMEVolumeLarge","mafPipeIsosurface",MUTEX);
  m_Logic->Plug(viso);

  mafViewOrthoSlice *viewOrthoSlice = new mafViewOrthoSlice("OrthoSlice");
  viewOrthoSlice->PackageView();
  m_Logic->Plug(viewOrthoSlice);
  //-------------------------------------------------------------

  wxBitmap splashBitmap;
  splashBitmap.LoadFile("../Splash/iposeSplash.bmp", wxBITMAP_TYPE_BMP);
  m_Logic->ShowSplashScreen(splashBitmap); 

  // show the application
  m_Logic->Show();

  m_Logic->Init(0,NULL); // calls FileNew - which create the root

  return TRUE;
}
Ejemplo n.º 4
0
bool CHotkey::LoadKeyMap()
{
	key_map.erase(key_map.begin(), key_map.end());

	// 임시
	RegKey(VK_F6, false, false, false, ID_TEMP_CLICK_THOUGH);

	RegKey(VK_F7, false, false, false, ID_WND_BORDER_MODE);
	RegKey(VK_F7, false, true, false, ID_BACKGROUND_SWITCH);

	// 원문 문장/이름 출력
	RegKey(VK_F8, false, false, false, ID_PRINT_ORGTEXT);
	RegKey(VK_F8, false, true, false, ID_PRINT_ORGNAME);

	// 이름 분리 표시
	RegKey(VK_F8, true, false, false, ID_SEPERATE_NAME);

	RegKey(VK_F10, false, false, false, ID_WINDOW_SETTING, true);

	// 종료
	RegKey(VK_F12, false, true, false, ID_TERMINATE_ANEMONE);

	// 이전글 / 최근글 보기
	RegKey(VK_NUMPAD9, false, false, false, ID_TEXT_PREV);
	RegKey(VK_NUMPAD3, false, false, false, ID_TEXT_NEXT);

	// 글자 크기 UP/DOWN
	RegKey(VK_SUBTRACT, false, false, false, ID_TEXTSIZE_MINUS);
	RegKey(VK_ADD, false, false, false, ID_TEXTSIZE_PLUS);
	
	// 창 잠깐 숨기기 / 창 완전 숨기기
	RegKey(VK_MULTIPLY, false, false, false, ID_WINDOW_VISIBLE, true);
	RegKey(VK_DIVIDE, false, false, false, ID_TEMP_WINDOW_HIDE, true);

	// 창 위치 리셋
	RegKey(VK_NUMPAD5, true, false, false, ID_WINRESET);

	// 창 이동
	RegKey(VK_NUMPAD8, false, false, false, ID_WNDMOVE_TOP);
	RegKey(VK_NUMPAD2, false, false, false, ID_WNDMOVE_BOTTOM);
	RegKey(VK_NUMPAD4, false, false, false, ID_WNDMOVE_LEFT);
	RegKey(VK_NUMPAD6, false, false, false, ID_WNDMOVE_RIGHT);

	// 창 크기 조절
	RegKey(VK_NUMPAD8, false, true, false, ID_WNDSIZE_TOP);
	RegKey(VK_NUMPAD2, false, true, false, ID_WNDSIZE_BOTTOM);
	RegKey(VK_NUMPAD4, false, true, false, ID_WNDSIZE_LEFT);
	RegKey(VK_NUMPAD6, false, true, false, ID_WNDSIZE_RIGHT);

	// 단문 번역/파일 번역창
	RegKey(VK_F11, false, false, true, ID_WINDOW_TRANS);
	RegKey(VK_F11, false, true, true, ID_WINDOW_FILETRANS);

	// 전역 단축키
	RegKey(VK_F12, true, false, true, ID_EXTERN_HOTKEY, true);

	// 사전 오픈
	RegKey(VK_INSERT, false, false, true, ID_OPENDIC, true);

	// 자석모드
	RegKey(VK_OEM_3, false, false, false, ID_MAGNETIC_MODE, true);

	// 마우스 클릭
	RegKey(VK_NUMPAD0, false, false, false, ID_MOUSE_LCLICK, true);
	RegKey(VK_DECIMAL, false, false, false, ID_MOUSE_RCLICK, true);

	// 창 번역
	RegKey(VK_F9, false, false, true, ID_TRANSTEXT_WNDMENU);
	RegKey(VK_F10, false, false, true, ID_TRANSTEXT_WNDTEXT);

	// 클립보드 감시/후커 직접 감시
	RegKey(VK_SCROLL, false, false, false, ID_CLIPBOARD_SWITCH, true);
	RegKey(VK_OEM_5, true, true, false, ID_HOOKER_MONITOR, true);
	return true;
}