Exemplo n.º 1
0
UserWidget::UserWidget(QWidget* parent) : QTabWidget(parent), ui(new Ui::UserWidget){
  ui->setupUi(this);
  updatingfavs = false;
  if(parent!=0){ parent->setMouseTracking(true); }
  this->setMouseTracking(true);
  sysapps = LSession::handle()->applicationMenu()->currentAppHash(); //get the raw info
  
  //Connect the signals/slots
  connect(ui->tool_desktopsettings, SIGNAL(clicked()), this, SLOT(openDeskSettings()) );
  connect(ui->tool_config_screensaver, SIGNAL(clicked()), this, SLOT(openScreenSaverConfig()) );
  connect(ui->tool_config_screensettings, SIGNAL(clicked()), this, SLOT(openScreenConfig()) );
  connect(ui->tool_fav_apps, SIGNAL(clicked()), this, SLOT(FavChanged()) );
  connect(ui->tool_fav_files, SIGNAL(clicked()), this, SLOT(FavChanged()) );
  connect(ui->tool_fav_dirs, SIGNAL(clicked()), this, SLOT(FavChanged()) );
  connect(ui->combo_app_cats, SIGNAL(currentIndexChanged(int)), this, SLOT(updateApps()) );
  connect(ui->tool_home_gohome, SIGNAL(clicked()), this, SLOT(slotGoHome()) );
  connect(ui->tool_home_browse, SIGNAL(clicked()), this, SLOT(slotOpenDir()) );
  connect(ui->tool_home_search, SIGNAL(clicked()), this, SLOT(slotOpenSearch()) );
  connect(ui->tool_config_about, SIGNAL(clicked()), this, SLOT(openLuminaInfo()) );
  
  //Setup the special buttons
  connect(ui->tool_app_store, SIGNAL(clicked()), this, SLOT(openStore()) );
  connect(ui->tool_controlpanel, SIGNAL(clicked()), this, SLOT(openControlPanel()) );
  connect(ui->tool_qtconfig, SIGNAL(clicked()), this, SLOT(openQtConfig()) );
  
  lastUpdate = QDateTime(); //make sure it refreshes 

  connect(LSession::handle()->applicationMenu(), SIGNAL(AppMenuUpdated()), this, SLOT(UpdateMenu()) );
  connect(QApplication::instance(), SIGNAL(DesktopFilesChanged()), this, SLOT(updateFavItems()) );
  QTimer::singleShot(10,this, SLOT(UpdateAll())); //make sure to load this once after initialization
}
Exemplo n.º 2
0
// Refresh timer
void
WxCasFrame::OnRefreshTimer ( wxTimerEvent& WXUNUSED( event ) )
{
	// Prefs
	wxConfigBase * prefs = wxConfigBase::Get();

	UpdateAll ();

	// Generate stat image if asked in config
	if (prefs->Read( WxCasCte::ENABLE_AUTOSTATIMG_KEY,
	                 WxCasCte::DEFAULT_AUTOSTATIMG_ISENABLED ) ) {
		wxImage * statImage = GetStatImage ();

		wxFileName fileName ( prefs->
		                      Read ( WxCasCte::AUTOSTATIMG_DIR_KEY,
		                             WxCasCte::DEFAULT_AUTOSTATIMG_PATH ),
		                      WxCasCte::AMULESIG_IMG_NAME,
		                      prefs->
		                      Read ( WxCasCte::AUTOSTATIMG_TYPE_KEY,
		                             WxCasCte::DEFAULT_AUTOSTATIMG_TYPE ).
		                      Lower () );

		if ( !statImage->SaveFile ( fileName.GetFullPath () ) ) {
			wxLogError ( wxT( "No handler for this file type. File was not saved" ) );
		}
		delete statImage;
	}
}
Exemplo n.º 3
0
void CRelaxReminderDlg::OnMenuLongRelax() 
{
    // TODO: Add your command handler code here
    AppLog(L_MSG, " --> start long relax.");
    m_tm.StartLongRelax();
    UpdateAll();
}
Exemplo n.º 4
0
VirtScreen::VirtScreen(World * const world_, Player * const player_) :
		w(world_),
		player(player_)
{
	connect(w, SIGNAL(Notify(const QString &)),
		this, SLOT(Notify(const QString &)));
	connect(player, SIGNAL(Notify(const QString &)),
		this, SLOT(Notify(const QString &)));

	connect(w, SIGNAL(GetString(QString &)),
		this, SLOT(PassString(QString &)),
		Qt::DirectConnection);
	connect(player, SIGNAL(GetString(QString &)),
		this, SLOT(PassString(QString &)),
		Qt::DirectConnection);

	connect(player, SIGNAL(Updated()),
		this, SLOT(UpdatePlayer()),
		Qt::DirectConnection);
	connect(w, SIGNAL(ReConnect()),
		this, SLOT(ConnectWorld()),
		Qt::DirectConnection);
	connect(w, SIGNAL(UpdatedAll()),
		this, SLOT(UpdateAll()),
		Qt::DirectConnection);
	connect(w, SIGNAL(Moved(const int)),
		this, SLOT(Move(const int)),
		Qt::DirectConnection);
	ConnectWorld();
	connect(w, SIGNAL(UpdatesEnded()),
		this, SLOT(UpdatesEnd()),
		Qt::DirectConnection);
}
Exemplo n.º 5
0
// ensure visible
void MScrollView::EnsureCtrlVisible(HWND hwndCtrl, bool update_all/* = true*/)
{
    MRect rcClient;
    MScrollView::GetClientRect(&rcClient);

    const int siz = static_cast<int>(size());
    for (int i = 0; i < siz; ++i)
    {
        if (m_vecInfo[i].m_hwndCtrl != hwndCtrl)
            continue;

        if (!::IsWindow(hwndCtrl))
            break;

        MRect& rcCtrl = m_vecInfo[i].m_rcCtrl;
        if (rcCtrl.bottom > m_ptScrollPos.y + rcClient.Height())
        {
            m_ptScrollPos.y = rcCtrl.bottom - rcClient.Height();
        }
        if (rcCtrl.top < m_ptScrollPos.y)
        {
            m_ptScrollPos.y = rcCtrl.top;
        }
        break;
    }
    if (update_all)
        UpdateAll();
}
void BehaviorCamera::RotateCenter(float dx, float dy)
{
	GLint viewport[4];
	glGetIntegerv(GL_VIEWPORT,viewport);
	vec3 tmp;
	mat3 rotMat;
	float unitx = M_PI / viewport[2] * 2.0f;
	float unity = M_PI / viewport[3] * 2.0f;

	if (unitx > 0.6f)
		unitx = 0.6f;
	if (unity > 0.6f)
		unity = 0.6f;

	dx = unitx * dx;
	dy = unity * dy;

	//compute the rotation matrix for dx and dy
	rotMat = mat3::Rotation3DRad(axisY, dx) * mat3::Rotation3DRad(m_rightVec, dy);
	//compute the new eye location
	tmp = m_eye - m_center;
	tmp = rotMat * tmp;
	m_eye = m_center + tmp;
	//compute the new upVec
	m_upVec = rotMat * m_upVec;

	UpdateAll();
}
Exemplo n.º 7
0
/**
 *  Additional stuff we need to do before drawing (in this case: update the map)
 */
void IngameMinimap::BeforeDrawing()
{
    // Ab welcher Knotenanzahl (Teil der Gesamtknotenanzahl) die Textur komplett neu erstellt werden soll
    static const unsigned MAX_NODES_UPDATE_DENOMINATOR = 2; // (2 = 1/2, 3 = 1/3 usw.)

    if(!nodesToUpdate.empty())
    {
        // Komplette Textur neu erzeugen, weil es zu viele Knoten sind?
        if(nodesToUpdate.size() >= map_width * map_height / MAX_NODES_UPDATE_DENOMINATOR)
        {
            // Ja, alles neu erzeugen
            UpdateAll();
            for(MapPoint p(0, 0); p.y < map_height; p.y++)
                for(p.x = 0; p.x < map_width; p.x++)
                    nodes_updated[GetMMIdx(p)] = false;
        } else
        {
            // Entsprechende Pixel updaten
            for(std::vector<MapPoint>::iterator it = nodesToUpdate.begin(); it != nodesToUpdate.end(); ++it)
            {
                for(unsigned t = 0; t < 2; ++t)
                {
                    unsigned color = CalcPixelColor(*it, t);
                    map.tex_setPixel((it->x * 2 + t + (it->y & 1)) % (map_width * 2), it->y, GetRed(color), GetGreen(color),
                        GetBlue(color), GetAlpha(color));
                }
                nodes_updated[GetMMIdx(*it)] = false;
            }
        }

        this->nodesToUpdate.clear();
    }
}
Exemplo n.º 8
0
Arquivo: app.cpp Projeto: S-V/Lollipop
/*
-----------------------------------------------------------------------------
	EdApp
-----------------------------------------------------------------------------
*/
EdApp::EdApp()
{
	this->CreateMainFrame();
	this->CreateMdiArea();
	this->CreateActions();
	this->CreateMenus();
	this->ConnectSigSlots();

	// create modules
	EdSystem::Get().InstallDefaultPlugins();

	//gEditorSettings.SetDefaults();

	// Initialize modules.
	{
		// create widgets, menus, etc.
		EdSystem::Get().PreInit();

		// read app settings from file
		// or load default settings
		this->ReadPersistentData();

		EdSystem::Get().PostInit();
	}

	{
		// 'Exit' should be the last action
		menus.fileMenu->addAction( &actions.exitAppAct );

		//menus.settingsMenu->addSeparator();
		menus.settingsMenu->addAction( &actions.editPreferencesAct );
		menus.settingsMenu->addAction( &actions.importStyleSheetAct );

		//menus.pluginsMenu->addAction( &actions.viewPlugisAct );
	}


	//StartTimer
	{
		// If interval is 0, then the timer event occurs once every time
		// there are no more window system events to process.
		//
		const int timerInterval = 0;	// in milliseconds

		m_timerID = this->startTimer(timerInterval);

		ensure(connect(
			this, SIGNAL(signal_FrameStarted()),
			this, SLOT(UpdateAll())
		));
	}


	mainFrame.statusBar()->showMessage(TR("Ready"));

	EdSystem::Get().Event_ProjectUnloaded();

	EdSystem::Get().Event_AppInitialized();
}
Exemplo n.º 9
0
StartMenu::StartMenu(QWidget *parent) : QWidget(parent), ui(new Ui::StartMenu){
  ui->setupUi(this); //load the designer file
  sysapps = LSession::handle()->applicationMenu()->currentAppHash();
  connect(LSession::handle()->applicationMenu(), SIGNAL(AppMenuUpdated()), this, SLOT(UpdateApps()) );
  UpdateAll();
  QTimer::singleShot(10, this,SLOT(UpdateApps()));
  QTimer::singleShot(10, this, SLOT(UpdateFavs()));
}
Exemplo n.º 10
0
void CRelaxReminderDlg::OnMenuPause() 
{
    // TODO: Add your command handler code here
    if (m_tm.GetStatus() == STATUS_WORK)
    {
        AppLog(L_MSG, " --> pause timer.");
        m_tm.TimerPause();
        UpdateAll();
        return;
    }
    if (m_tm.GetStatus() == STATUS_PAUSE)
    {
        AppLog(L_MSG, " --> resume timer.");
        m_tm.TimerResume();
        UpdateAll();
        return;
    }
}
Exemplo n.º 11
0
void CRelaxReminderDlg::OnMenuStartWork() 
{
    // TODO: Add your command handler code here
    AppLog(L_MSG, " --> start work.");
    m_tm.StartWork();
    UpdateAll();
    
    // 如果还有任务栏提示窗口,则关闭它
    m_dlgRelaxNotify.DeleteTrayWindow();
}
Exemplo n.º 12
0
void StartMenu::UpdateMenu(bool forceall){
  if(forceall){ UpdateAll(); }
  //Quick update routine before the menu is made visible
  UpdateFavs();
  if(ui->stackedWidget->currentWidget() != ui->page_main){
    ui->stackedWidget->setCurrentWidget(ui->page_main); //just show the main page
  }else{
    on_stackedWidget_currentChanged(0); //refresh/update the main page every time
  }
}
Exemplo n.º 13
0
void CRelaxReminderDlg::OnMenuReset() 
{
    // TODO: Add your command handler code here
    AppLog(L_MSG, " --> reset timer.");
    m_tm.TimerReset();
    UpdateAll();
    
    // 如果还有任务栏提示窗口,则关闭它
    m_dlgRelaxNotify.DeleteTrayWindow();
}
Exemplo n.º 14
0
void CAdvancedSettingsPage::OnOK() 
{
	CommitAll();

	UpdateAll();

	m_wndFonts.Invalidate();

	CSettingsPage::OnOK();
}
Exemplo n.º 15
0
MainWidget::MainWidget(Settings *_settings, QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MainWidget)
{
    ui->setupUi(this);
    ui->textBrowser->verticalScrollBar()->hide();
    ui->textBrowser->horizontalScrollBar()->hide();

    settings = _settings;

    pageData = new QString[3];

    int _width  = 160;
    int _height = 55;
    realmWidget = new RealmMiniWidget*[4];
    for (int i = 0; i < 4; ++i)
    {
        realmWidget[i] = new RealmMiniWidget(ui->realmsWidget);
        connect(realmWidget[i], SIGNAL(clicked(RealmMiniWidget*)), this, SLOT(realmMiniWidget_clicked(RealmMiniWidget*)));
    }
    realmWidget[1]->setGeometry(_width,0,_width,_height);
    realmWidget[2]->setGeometry(0,_height,_width,_height);
    realmWidget[3]->setGeometry(_width,_height,_width,_height);

    connect(&page1, SIGNAL(DataCollected(ForumMgr*)), this, SLOT(Update1Forum()));
    connect(&page2, SIGNAL(DataCollected(ForumMgr*)), this, SLOT(Update2Forum()));
    connect(&page3, SIGNAL(DataCollected(ForumMgr*)), this, SLOT(Update3Forum()));
    connect(&onlineParser, SIGNAL(ParsingDone()), this, SLOT(UpdateOnline()));
    connect(&updateTimer, SIGNAL(timeout()), this, SLOT(UpdateAll()));

    UpdateAll();

    currCharIndex = 0;
    realmPage = 1;
    currOnlineIndex = settings->getDefaultOnlineShown();

    updateTimer.start(settings->getUpdateTime());
    characters = new Characters(settings->getGamePath());

    newUpdate = false;

    ui->synchButton->setVisible(false);
 }
Exemplo n.º 16
0
void _cdecl ThreadFunction(void * p = NULL)
{
	while (bThreadWorking)
	{
		EnterCriticalSection(&objCriticalSection);
		UpdateAll();
		LeaveCriticalSection(&objCriticalSection);
		Sleep(20);
	}
	bThreadEnded = true;
	_endthread();
}
Exemplo n.º 17
0
Protocol::Protocol(const char *aName)
{
	if (aName)
		name = aName;

	avatar_bmp = NULL;
	status = 0;
	custom_status = 0;
	locked = false;
	emails = 0;
	
	// Initial value
	UpdateAll();
}
Exemplo n.º 18
0
Cube::Cube(Context* context): Drawable(context, DRAWABLE_GEOMETRY) {
  boundingBox_.Define(0.0f, 1.0f);

  geometry_ = new Geometry(context);
  vertexBuffer_ = new VertexBuffer(context);
  indexBuffer_ = new IndexBuffer(context);

  batches_.Resize(1);
  batches_[0].geometry_ = geometry_;
  batches_[0].geometryType_ = GEOM_STATIC;
  batches_[0].worldTransform_ = &Matrix3x4::IDENTITY;
  
  UpdateAll();
}
Exemplo n.º 19
0
void CBCGPGanttItemStorageBase::Serialize (CArchive& ar)
{
	if (ar.IsLoading ())
	{
		RemoveAll ();
		int nCount = 0;

		// Loading items
		ar >> nCount;

		while (nCount-- > 0)
		{
			CBCGPGanttItem* pItem = NULL;
			ar >> pItem;
			if (pItem != NULL)
			{
				ASSERT_VALID (pItem);
				pItem->m_pStorage = this;
				DoAdd (pItem);
			}
		}

		int nItems = GetCount ();

		// Loading connections
		ar >> nCount;

		while (nCount-- > 0)
		{
			int indexSrc = 0, indexDest = 0, linkType, reserved;

			ar >> indexSrc;
			ar >> indexDest;
			ar >> linkType;
			ar >> reserved;

			if (indexSrc >= 0 && indexSrc < nItems && indexDest >= 0 && indexDest < nItems)
			{
				ASSERT (indexSrc != indexDest);

				if (indexSrc != indexDest)
				{
					AddConnection (GetItem (indexSrc), GetItem (indexDest), linkType);
				}
			}
		}

		UpdateAll (BCGP_GANTT_ITEM_PROP_ALL);
	}
Exemplo n.º 20
0
void StartMenu::UpdateMenu(bool forceall){
  //qDebug() << "Update Menu" << forceall;
  ui->line_search->clear();
  if(forceall){ UpdateAll(); }
  //Quick update routine before the menu is made visible
  //qDebug() << "update favs";
  UpdateFavs();
  //qDebug() << "check page";
  if(ui->stackedWidget->currentWidget() != ui->page_main){
    ui->stackedWidget->setCurrentWidget(ui->page_main); //just show the main page
  }else{
    on_stackedWidget_currentChanged(0); //refresh/update the main page every time
  }
  //qDebug() << "done";
}
Exemplo n.º 21
0
Arquivo: Space.cpp Projeto: GMIS/GMIS
void People::GoInto(int64 SourceID,ROOM_SPACE& Room){

	//先离开之前所在的空间,然后ROBOT设置新的地址
	GoOut();

	//如果没有注册 则注册为子空间,robot权利不变
	int64 RoomID = Room.GetSpaceID();

	SetID(RoomID); //ParentID
    
	int64& ChilID = *(int64*)GetData(0);
	ChilID = SourceID;

	SetSpaceType(ROBOT_VISITER);
		
	UpdateAll(TRUE);
}
Exemplo n.º 22
0
BOOL CPropPageOptionsControls::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	
	// Load the options
	LoadOptions();

	UpdateAll();

	UpdateStyleText();

	//set the combo box to have the first item selected
	((CComboBox*)GetDlgItem(IDC_COMBO_PRESET_STYLES))->SetCurSel(0);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
Exemplo n.º 23
0
// protocol service function for setting weather protocol status
INT_PTR WeatherSetStatus(WPARAM new_status, LPARAM lParam)
{
	new_status = new_status != ID_STATUS_OFFLINE ? ID_STATUS_ONLINE : ID_STATUS_OFFLINE;

	// if we don't want to show status for default station
	if (!opt.NoProtoCondition && status != new_status) {
		old_status = status;
		status = new_status != ID_STATUS_OFFLINE ? ID_STATUS_ONLINE : ID_STATUS_OFFLINE;
		ProtoBroadcastAck(WEATHERPROTONAME, NULL, ACKTYPE_STATUS, ACKRESULT_SUCCESS, (HANDLE)old_status, status);

		UpdateMenu(new_status != ID_STATUS_OFFLINE);
		if (new_status != ID_STATUS_OFFLINE)
			UpdateAll(FALSE, FALSE);
	}

	return 0;
}
Exemplo n.º 24
0
Arquivo: Space.cpp Projeto: GMIS/GMIS
ROOM_SPACE::ROOM_SPACE(int64 ParentID,int64 ID,tstring Name, int64 Size,SPACETYPE Type,SPACE_RIGHT r,tstring Fingerprint)
{
	assert(ParentID);
	assert(ID);

	m_ID  = ParentID;
	int64& ChilID = *(int64*)GetData(0);
	ChilID = ID;

	SetName(Name);
	SetSpaceType(Type);
    SetFingerprint(Fingerprint);

	*(int64*)GetProperty().GetData(PROPERTY_SIZE) = Size;
	*(SPACE_RIGHT*)GetOwnerInfo().GetData(REG_RIGHT) = r;

	UpdateAll(TRUE);
}
Exemplo n.º 25
0
int EdApp::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QObject::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: projectLoadedFlag((*reinterpret_cast< bool(*)>(_a[1]))); break;
        case 1: signal_FrameStarted(); break;
        case 2: { bool _r = RequestExit();
            if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; }  break;
        case 3: UpdateAll(); break;
        case 4: slot_ImportStyleSheet(); break;
        default: ;
        }
        _id -= 5;
    }
    return _id;
}
Exemplo n.º 26
0
void CRelaxReminderDlg::OnTimer(UINT nIDEvent) 
{
    // TODO: Add your message handler code here and/or call default
    switch (nIDEvent)
    {
    case TIMER_HEART_BEAT_1S:
        m_tm.HeartBeat1Second();
        UpdateAll();
        AutoSaveStatistics();
    	break;
    case TIMER_MOUSE_HOVER_DETECT:
        FloatingWindowMouseHoverDetect();
        break;
    default:
        break;
    }

    CDialog::OnTimer(nIDEvent);
}
Exemplo n.º 27
0
StartMenu::StartMenu(QWidget *parent) : QWidget(parent), ui(new Ui::StartMenu){
  ui->setupUi(this); //load the designer file
  this->setMouseTracking(true);
  searchTimer = new QTimer(this);
    searchTimer->setInterval(300); //~1/3 second
    searchTimer->setSingleShot(true);
  connect(searchTimer, SIGNAL(timeout()), this, SLOT(startSearch()) );
  sysapps = LSession::handle()->applicationMenu()->currentAppHash();
  connect(LSession::handle()->applicationMenu(), SIGNAL(AppMenuUpdated()), this, SLOT(UpdateApps()) );
  //Need to load the last used setting of the application list
  QString state = LSession::handle()->DesktopPluginSettings()->value("panelPlugs/systemstart/showcategories", "partial").toString();
  if(state=="partial"){ui->check_apps_showcats->setCheckState(Qt::PartiallyChecked); }
  else if(state=="true"){ ui->check_apps_showcats->setCheckState(Qt::Checked); }
  else{ ui->check_apps_showcats->setCheckState(Qt::Unchecked); }
  connect(ui->check_apps_showcats, SIGNAL(stateChanged(int)), this, SLOT(catViewChanged()) );
  UpdateAll();
  QTimer::singleShot(10, this,SLOT(UpdateApps()));
  QTimer::singleShot(10, this, SLOT(UpdateFavs()));
}
Exemplo n.º 28
0
void MScrollView::VScroll(int nSB_, int nPos)
{
    SCROLLINFO si;
    si.cbSize = sizeof(si);
    si.fMask = SIF_ALL;
    GetVScrollInfo(&si);

    switch (nSB_)
    {
    case SB_TOP:
        SetVScrollPos(0);
        break;

    case SB_BOTTOM:
        SetVScrollPos(si.nMax - si.nPage);
        break;

    case SB_LINELEFT:
        SetVScrollPos(si.nPos - 16);
        break;

    case SB_LINERIGHT:
        SetVScrollPos(si.nPos + 16);
        break;

    case SB_PAGELEFT:
        SetVScrollPos(si.nPos - si.nPage);
        break;

    case SB_PAGERIGHT:
        SetVScrollPos(si.nPos + si.nPage);
        break;

    case SB_THUMBPOSITION:
    case SB_THUMBTRACK:
        SetVScrollPos(nPos);
        break;
    }

    ScrollPos().y = GetVScrollPos();
    UpdateAll();
}
void BehaviorCamera::Zoom(float dx)
{
	GLint viewport[4];
	glGetIntegerv(GL_VIEWPORT,viewport);
	float total = viewport[3];
	if (dx > 0){//zoom in
		if (m_dist < 0.1)
			return;
		dx = dx / total * m_dist;
		if (dx > m_dist)
			return;
	}
	else{//zoom out
		dx = dx / total * m_dist;
	}

	m_eye = m_eye + m_frontVec * dx;

	UpdateAll();
}
Exemplo n.º 30
0
Arquivo: Space.cpp Projeto: GMIS/GMIS
People::People(int64 ParentID,int64 ID,tstring Name,tstring& Cryptograph,SPACETYPE Type,SPACE_RIGHT r,tstring Fingerprint)
{   

	assert(ParentID);
	assert(ID);
	
	m_AutoLeave = true;

	m_ID  = ParentID;
	int64& ChilID = *(int64*)GetData(0);
	ChilID = ID;
	
	SetName(Name);
	SetSpaceType(Type);
    SetFingerprint(Fingerprint);
	
	*(SPACE_RIGHT*)GetOwnerInfo().GetData(REG_RIGHT) = r;
	
	UpdateAll(TRUE);
}