Create new (empty) branch for board themes
[xboard.git] / winboard / wedittags.c
diff --git a/winboard/wedittags.c b/winboard/wedittags.c
deleted file mode 100644 (file)
index 6b4362d..0000000
+++ /dev/null
@@ -1,284 +0,0 @@
-/*\r
- * wedittags.c -- EditTags window for WinBoard\r
- *\r
- * Copyright 1995, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Free\r
- * Software Foundation, Inc.\r
- *\r
- * Enhancements Copyright 2005 Alessandro Scotti\r
- *\r
- * ------------------------------------------------------------------------\r
- *\r
- * GNU XBoard is free software: you can redistribute it and/or modify\r
- * it under the terms of the GNU General Public License as published by\r
- * the Free Software Foundation, either version 3 of the License, or (at\r
- * your option) any later version.\r
- *\r
- * GNU XBoard is distributed in the hope that it will be useful, but\r
- * WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
- * General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this program. If not, see http://www.gnu.org/licenses/.  *\r
- *\r
- *------------------------------------------------------------------------\r
- ** See the file ChangeLog for a revision history.  */\r
-\r
-#include "config.h"\r
-\r
-#include <windows.h>   /* required for all Windows applications */\r
-#include <richedit.h>\r
-#include <stdio.h>\r
-#include <stdlib.h>\r
-#include <malloc.h>\r
-#include <fcntl.h>\r
-#include <math.h>\r
-#include <commdlg.h>\r
-#include <dlgs.h>\r
-\r
-#include "common.h"\r
-#include "frontend.h"\r
-#include "backend.h"\r
-#include "winboard.h"\r
-\r
-#define _(s) T_(s)\r
-\r
-/* Module globals */\r
-static char *editTagsText, **resPtr;\r
-static HWND memo;\r
-BOOL editTagsUp = FALSE;\r
-BOOL canEditTags = FALSE;\r
-\r
-/* Imports from winboard.c */\r
-extern HINSTANCE hInst;\r
-extern HWND hwndMain;\r
-extern BoardSize boardSize;\r
-\r
-LRESULT CALLBACK\r
-EditTagsDialog(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
-{\r
-  static HANDLE hwndText;\r
-  static int sizeX, sizeY;\r
-  int len, newSizeX, newSizeY;\r
-  char *str;\r
-  RECT rect;\r
-  MINMAXINFO *mmi;\r
-  int err;\r
-  \r
-  switch (message) {\r
-  case WM_INITDIALOG: /* message: initialize dialog box */\r
-    /* Initialize the dialog items */\r
-    Translate(hDlg, DLG_EditTags);\r
-   hwndText = memo = GetDlgItem(hDlg, OPT_TagsText);\r
-    SendMessage(hwndText, WM_SETFONT, \r
-      (WPARAM)font[boardSize][EDITTAGS_FONT]->hf, MAKELPARAM(FALSE, 0));\r
-    SetDlgItemText(hDlg, OPT_TagsText, editTagsText);\r
-    EnableWindow(GetDlgItem(hDlg, OPT_TagsCancel), canEditTags);\r
-    EnableWindow(GetDlgItem(hDlg, OPT_EditTags), !canEditTags || bookUp);\r
-    SendMessage(hwndText, EM_SETREADONLY, !canEditTags, 0);\r
-    if (bookUp) {\r
-      SetDlgItemText(hDlg, OPT_EditTags, _("&Play Move"));\r
-      SetWindowText(hDlg, _("Edit Book"));\r
-      SetFocus(hwndText);\r
-    } else\r
-    if (canEditTags) {\r
-      SetWindowText(hDlg, _("Edit Tags"));\r
-      SetFocus(hwndText);\r
-    } else {\r
-      SetWindowText(hDlg, _("Tags"));\r
-      SetFocus(GetDlgItem(hDlg, IDOK));\r
-    }\r
-    if (!editTagsDialog) {\r
-      editTagsDialog = hDlg;\r
-      GetClientRect(hDlg, &rect);\r
-      sizeX = rect.right;\r
-      sizeY = rect.bottom;\r
-      SendDlgItemMessage( hDlg, OPT_TagsText, EM_SETEVENTMASK, 0, ENM_MOUSEEVENTS );\r
-      if (wpTags.x != CW_USEDEFAULT && wpTags.y != CW_USEDEFAULT &&\r
-         wpTags.width != CW_USEDEFAULT && wpTags.height != CW_USEDEFAULT) {\r
-       WINDOWPLACEMENT wp;\r
-       EnsureOnScreen(&wpTags.x, &wpTags.y, 0, 0);\r
-       wp.length = sizeof(WINDOWPLACEMENT);\r
-       wp.flags = 0;\r
-       wp.showCmd = SW_SHOW;\r
-       wp.ptMaxPosition.x = wp.ptMaxPosition.y = 0;\r
-       wp.rcNormalPosition.left = wpTags.x;\r
-       wp.rcNormalPosition.right = wpTags.x + wpTags.width;\r
-       wp.rcNormalPosition.top = wpTags.y;\r
-       wp.rcNormalPosition.bottom = wpTags.y + wpTags.height;\r
-       SetWindowPlacement(hDlg, &wp);\r
-\r
-       GetClientRect(hDlg, &rect);\r
-       newSizeX = rect.right;\r
-       newSizeY = rect.bottom;\r
-        ResizeEditPlusButtons(hDlg, hwndText, sizeX, sizeY,\r
-                             newSizeX, newSizeY);\r
-       sizeX = newSizeX;\r
-       sizeY = newSizeY;\r
-      }\r
-    }\r
-    return FALSE;\r
-    \r
-  case WM_COMMAND:\r
-    switch (LOWORD(wParam)) {\r
-    case IDOK:\r
-    case OPT_TagsSave:\r
-      if (canEditTags) {\r
-       char *p, *q;\r
-       /* Read changed options from the dialog box */\r
-       len = GetWindowTextLength(hwndText);\r
-       str = (char *) malloc(len + 1);\r
-       GetWindowText(hwndText, str, len + 1);\r
-       p = q = str;\r
-       while (*q) {\r
-         if (*q == '\r')\r
-           q++;\r
-         else\r
-           *p++ = *q++;\r
-       }\r
-       *p = NULLCHAR; err = 0;\r
-        if(resPtr) *resPtr = strdup(str); else\r
-       if(bookUp) SaveToBook(str), DisplayBook(currentMove); else\r
-       err = ReplaceTags(str, &gameInfo);\r
-       if (err) DisplayError(_("Error replacing tags."), err);\r
-\r
-       free(str);\r
-      }\r
-      if(LOWORD(wParam) == IDOK) TagsPopDown();\r
-      return TRUE;\r
-      \r
-    case IDCANCEL:\r
-    case OPT_TagsCancel:\r
-      TagsPopDown();\r
-      return TRUE;\r
-      \r
-    case OPT_EditTags:\r
-      if(bookUp) addToBookFlag = !addToBookFlag; else\r
-      EditTagsEvent();\r
-      return TRUE;\r
-\r
-    default:\r
-      break;\r
-    }\r
-    break;\r
-\r
-  case WM_NOTIFY: // [HGM] vari: cloned from whistory.c\r
-        if( wParam == OPT_TagsText ) {\r
-            MSGFILTER * lpMF = (MSGFILTER *) lParam;\r
-\r
-            if( lpMF->msg == WM_RBUTTONDOWN ) {\r
-                POINTL pt;\r
-                LRESULT index;\r
-\r
-                pt.x = LOWORD( lpMF->lParam );\r
-                pt.y = HIWORD( lpMF->lParam );\r
-\r
-                index = SendDlgItemMessage( hDlg, OPT_TagsText, EM_CHARFROMPOS, 0, (LPARAM) &pt );\r
-\r
-               hwndText = GetDlgItem(hDlg, OPT_TagsText); // cloned from above\r
-               len = GetWindowTextLength(hwndText);\r
-               str = (char *) malloc(len + 1);\r
-               GetWindowText(hwndText, str, len + 1);\r
-               if(bookUp) PlayBookMove(str, index);\r
-               free(str);\r
-\r
-                /* Zap the message for good: apparently, returning non-zero is not enough */\r
-                lpMF->msg = WM_USER;\r
-\r
-                return TRUE;\r
-            }\r
-        }\r
-        break;\r
-\r
-  case WM_SIZE:\r
-    newSizeX = LOWORD(lParam);\r
-    newSizeY = HIWORD(lParam);\r
-    ResizeEditPlusButtons(hDlg, hwndText, sizeX, sizeY, newSizeX, newSizeY);\r
-    sizeX = newSizeX;\r
-    sizeY = newSizeY;\r
-    break;\r
-\r
-  case WM_GETMINMAXINFO:\r
-    /* Prevent resizing window too small */\r
-    mmi = (MINMAXINFO *) lParam;\r
-    mmi->ptMinTrackSize.x = 100;\r
-    mmi->ptMinTrackSize.y = 100;\r
-    break;\r
-  }\r
-  return FALSE;\r
-}\r
-\r
-VOID AddBookMove(char *text)\r
-{\r
-    SendMessage( memo, EM_SETSEL, 999999, 999999 ); // [HGM] multivar: choose insertion point\r
-    SendMessage( memo, EM_REPLACESEL, (WPARAM) FALSE, (LPARAM) text );\r
-}\r
-\r
-VOID TagsPopDown(void)\r
-{\r
-  if (editTagsDialog) ShowWindow(editTagsDialog, SW_HIDE);\r
-  CheckMenuItem(GetMenu(hwndMain), IDM_Tags, MF_UNCHECKED);\r
-  editTagsUp = bookUp = addToBookFlag = FALSE;\r
-}\r
-\r
-\r
-VOID EitherTagsPopUp(char *tags, char *msg, BOOLEAN edit)\r
-{\r
-  FARPROC lpProc;\r
-  char *p, *q;\r
-  \r
-  if (msg == NULL) msg = "";\r
-  p = (char *) malloc(2 * (strlen(tags) + strlen(msg)) + 2);\r
-  q = p;\r
-  while (*tags) {\r
-    if (*tags == '\n') *q++ = '\r';\r
-    *q++ = *tags++;\r
-  }\r
-  if (*msg != NULLCHAR) {\r
-    *q++ = '\r';\r
-    *q++ = '\n';\r
-    while (*msg) {\r
-      if (*msg == '\n') *q++ = '\r';\r
-      *q++ = *msg++;\r
-    }\r
-  }\r
-  *q = NULLCHAR;\r
-  if (editTagsText != NULL) free(editTagsText);\r
-  editTagsText = p;\r
-  canEditTags = edit;\r
-  \r
-  CheckMenuItem(GetMenu(hwndMain), IDM_Tags, MF_CHECKED);\r
-  if (editTagsDialog) {\r
-    SendMessage(editTagsDialog, WM_INITDIALOG, 0, 0);\r
-    ShowWindow(editTagsDialog, SW_SHOW);\r
-    if(bookUp) SetFocus(hwndMain);\r
-  } else {\r
-    lpProc = MakeProcInstance((FARPROC)EditTagsDialog, hInst);\r
-    CreateDialog(hInst, MAKEINTRESOURCE(DLG_EditTags),\r
-      hwndMain, (DLGPROC)lpProc);\r
-    FreeProcInstance(lpProc);\r
-  }\r
-  editTagsUp = TRUE;\r
-}\r
-\r
-VOID TagsPopUp(char *tags, char *msg)\r
-{\r
-  HWND hwnd = GetActiveWindow();\r
-  EitherTagsPopUp(tags, msg, FALSE);\r
-  SetActiveWindow(hwnd);\r
-}\r
-\r
-VOID EditTagsPopUp(char *tags, char **dest)\r
-{\r
-  resPtr = dest;\r
-  EitherTagsPopUp(tags, "", TRUE);\r
-}\r
-\r
-VOID EditTagsProc()\r
-{\r
-  if (editTagsUp && !bookUp) {\r
-    TagsPopDown();\r
-  } else {\r
-    EditTagsEvent();\r
-  }\r
-}\r