int main(int argc, char *argv[]) { parent_t *window; gui_callback_t *id1,*id2,*id3,*id4; gui_button_data_t button_data; gui_button_t *button; //load libGUI library LoadLibGUI(NULL); //create main window window=CreateWindow(); SetWindowSizeRequest(window,90,60); //create button button_data.x=5; button_data.y=5; button_data.width=70; button_data.height=20; //create button with text button=CreateButtonWithText(&button_data,"Click my!"); //set callback functions for button close window SetCallbackFunction(window,DELETE_EVENT,&callback_func_delete_window,NULL); //set callback functions for button id1=SetCallbackFunction(button,BUTTON_ENTER_EVENT,&callback_func1,NULL); id2=SetCallbackFunction(button,BUTTON_PRESSED_EVENT,&callback_func2,NULL); id3=SetCallbackFunction(button,BUTTON_RELEASED_EVENT,&callback_func3,NULL); id4=SetCallbackFunction(button,BUTTON_LEAVE_EVENT,&callback_func4,NULL); //pack button in window PackControls(window,button); //start main libGUI loop LibGUImain(window); }
int main(int argc, char *argv[]) { parent_t *window; gui_text_data_t txtdata; gui_text_t *text; //load libGUI library LoadLibGUI(NULL);//load from default system path to library //create main window window=CreateWindow(); //change size of window SetWindowSizeRequest(window,92,46); //set callback function for button close window SetCallbackFunction(window,DELETE_EVENT,&callback_func_delete_window,NULL); //create control text txtdata.x=5; txtdata.y=5; txtdata.font=NULL;//use default system libGUI font txtdata.background=TRUE;//use background for text txtdata.color=0xffffff;//text color txtdata.background_color=0xff8000;//background color txtdata.text="Hello world!"; text=CreateText(&txtdata); //pack control text in window PackControls(window,text); //start libGUI main loop LibGUImain(window); }
void QmitkAbstractDataStorageModel::SetDataStorage(mitk::DataStorage* dataStorage) { if (m_DataStorage == dataStorage) { return; } if (!m_DataStorage.IsExpired()) { auto dataStorage = m_DataStorage.Lock(); // remove Listener for the data storage itself dataStorage->RemoveObserver(m_DataStorageDeletedTag); // remove listener from old data storage dataStorage->AddNodeEvent.RemoveListener( mitk::MessageDelegate1<QmitkAbstractDataStorageModel, const mitk::DataNode*>(this, &QmitkAbstractDataStorageModel::NodeAdded)); dataStorage->RemoveNodeEvent.RemoveListener( mitk::MessageDelegate1<QmitkAbstractDataStorageModel, const mitk::DataNode*>(this, &QmitkAbstractDataStorageModel::NodeRemoved)); dataStorage->ChangedNodeEvent.RemoveListener( mitk::MessageDelegate1<QmitkAbstractDataStorageModel, const mitk::DataNode*>(this, &QmitkAbstractDataStorageModel::NodeChanged)); } m_DataStorage = dataStorage; if (!m_DataStorage.IsExpired()) { auto dataStorage = m_DataStorage.Lock(); // add Listener for the data storage itself auto command = itk::SimpleMemberCommand<QmitkAbstractDataStorageModel>::New(); command->SetCallbackFunction(this, &QmitkAbstractDataStorageModel::SetDataStorageDeleted); m_DataStorageDeletedTag = dataStorage->AddObserver(itk::DeleteEvent(), command); // add listener for new data storage dataStorage->AddNodeEvent.AddListener( mitk::MessageDelegate1<QmitkAbstractDataStorageModel, const mitk::DataNode*>(this, &QmitkAbstractDataStorageModel::NodeAdded)); dataStorage->RemoveNodeEvent.AddListener( mitk::MessageDelegate1<QmitkAbstractDataStorageModel, const mitk::DataNode*>(this, &QmitkAbstractDataStorageModel::NodeRemoved)); dataStorage->ChangedNodeEvent.AddListener( mitk::MessageDelegate1<QmitkAbstractDataStorageModel, const mitk::DataNode*>(this, &QmitkAbstractDataStorageModel::NodeChanged)); } // update model if the data storage has been changed DataStorageChanged(); }
void QmitkAbstractNodeSelectionWidget::SetDataStorage(mitk::DataStorage* dataStorage) { if (m_DataStorage == dataStorage) { return; } if (!m_DataStorage.IsExpired()) { auto oldStorage = m_DataStorage.Lock(); // remove Listener for the data storage itself oldStorage->RemoveObserver(m_DataStorageDeletedTag); // remove listener from old data storage oldStorage->RemoveNodeEvent.RemoveListener( mitk::MessageDelegate1<QmitkAbstractNodeSelectionWidget, const mitk::DataNode*>(this, &QmitkAbstractNodeSelectionWidget::NodeRemovedFromStorage)); } m_DataStorage = dataStorage; if (!m_DataStorage.IsExpired()) { auto newStorage = m_DataStorage.Lock(); // add Listener for the data storage itself auto command = itk::SimpleMemberCommand<QmitkAbstractNodeSelectionWidget>::New(); command->SetCallbackFunction(this, &QmitkAbstractNodeSelectionWidget::SetDataStorageDeleted); m_DataStorageDeletedTag = newStorage->AddObserver(itk::DeleteEvent(), command); // add listener for new data storage newStorage->RemoveNodeEvent.AddListener( mitk::MessageDelegate1<QmitkAbstractNodeSelectionWidget, const mitk::DataNode*>(this, &QmitkAbstractNodeSelectionWidget::NodeRemovedFromStorage)); } // update model if the data storage has been changed m_DataStorage = dataStorage; this->OnDataStorageChanged(); this->UpdateInfo(); };
int main(int argc, char *argv[]) { parent_t *window; gui_image_data_t imdata; gui_image_t *image; int i,j; unsigned int *img; //load libGUI library LoadLibGUI(NULL);//use default system path to library //create main window window=CreateWindow(); //change window size SetWindowSizeRequest(window,220,142); //set callback function for close window button SetCallbackFunction(window,DELETE_EVENT,&callback_func_delete_window,NULL); //create image imdata.x=5; imdata.y=5; imdata.width=200; imdata.height=100; imdata.bits_per_pixel=32;//bits per pixel image=CreateImage(&imdata); img=(unsigned int*)image->img; //generate 32 bits image for(i=0;i<GetControlSizeY(image);i++) { for(j=0;j<GetControlSizeX(image);j++) { *img=100*(i*i+j*j-i*3+2*j); img++; } } //pack image in window PackControls(window,image); //start main libGUI loop LibGUImain(window); }