コード例 #1
0
ファイル: optiondlg.c プロジェクト: 4nakin/freeciv-android
static LONG CALLBACK option_proc(HWND dlg,UINT message,
				 WPARAM wParam,LPARAM lParam)
{
  switch(message) {
  case WM_CREATE:
  case WM_SIZE:
  case WM_GETMINMAXINFO:
    break;
  case WM_DESTROY:
    option_dialog=NULL;
    break;
  case WM_COMMAND:
    if (LOWORD(wParam)==IDOK) {
      void *gui_data;
      char dp[512];
      int val;
      
      client_options_iterate(poption) {
        gui_data = option_get_gui_data(poption);

	switch (option_type(poption)) {
	case COT_BOOLEAN:
          (void) option_bool_set(poption,
                                 Button_GetCheck((HWND)(gui_data))
                                 == BST_CHECKED);
	  break;
	case COT_INTEGER:
	  GetWindowText((HWND)(gui_data),dp,sizeof(dp));
          if (str_to_int(dp, &val)) {
            (void) option_int_set(poption, val);
          }
	  break;
	case COT_STRING:
	  if (!gui_data) {
	    break;
	  }
	  GetWindowText((HWND) (gui_data), dp, sizeof(dp));
          (void) option_str_set(poption, dp);
	  break;
        case COT_FONT:
          /* FIXME: */
          break;
	}
      } client_options_iterate_end;
      DestroyWindow(dlg);
    }
    break;
  case WM_CLOSE:
    DestroyWindow(dlg);
    break;
  default:
    return DefWindowProc(dlg,message,wParam,lParam);
  }
コード例 #2
0
ファイル: optiondlg.cpp プロジェクト: valisc/freeciv
/****************************************************************************
  Return selected colors (for highlighting chat).
****************************************************************************/
struct ft_color option_dialog::get_color(struct option *poption) {

  QPalette pal;
  QColor col1, col2;
  QWidget *w;
  QPushButton* but;

  w = reinterpret_cast<QPushButton *>(option_get_gui_data(poption));
  but = w->findChild<QPushButton *>("text_color");
  pal = but->palette();
  col1 =  pal.color(QPalette::Button);
  but = w->findChild<QPushButton *>("text_background");
  pal = but->palette();
  col2 =  pal.color(QPalette::Button);

  return ft_color(col1.name().toUtf8().data(), col2.name().toUtf8().data());
}