コード例 #1
0
ファイル: button.c プロジェクト: ashmew2/kolibriosSVN
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);
}
コード例 #2
0
ファイル: text.c プロジェクト: ashmew2/kolibriosSVN
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);
}
コード例 #3
0
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();
}
コード例 #4
0
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();
};
コード例 #5
0
ファイル: image.c プロジェクト: ashmew2/kolibriosSVN
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);
}