source: branches/work_311/doc/actions/DocOpenWindowAction.cpp @ 602

Revision 602, 19.1 KB checked in by jls17, 5 years ago (diff)
Line 
1//Copyright (C) 2014 John Luthgers | jls17
2//
3//This file is part of ARInside.
4//
5//    ARInside is free software: you can redistribute it and/or modify
6//    it under the terms of the GNU General Public License as published by
7//    the Free Software Foundation, version 2 of the License.
8//
9//    ARInside is distributed in the hope that it will be useful,
10//    but WITHOUT ANY WARRANTY; without even the implied warranty of
11//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12//    GNU General Public License for more details.
13//
14//    You should have received a copy of the GNU General Public License
15//    along with ARInside.  If not, see <http://www.gnu.org/licenses/>.
16
17#include "stdafx.h"
18#include "DocAlMessageAction.h"
19#include "DocOpenWindowAction.h"
20#include "../DocActionOpenWindowHelper.h"
21#include "../../core/ARQualification.h"
22#include "../../core/ARAssignHelper.h"
23#include "../../output/ObjNotFound.h"
24#include "../../output/URLLink.h"
25#include "../../util/Context.h"
26
27DocOpenWindowAction::DocOpenWindowAction(Context &theContext, const AROpenDlgStruct &theAction)
28:       context(theContext), action(theAction)
29{
30}
31
32void DocOpenWindowAction::ToStream(std::ostream& strm)
33{
34        try
35        {
36                CARInside* arIn = &context.getInside();
37                string openWindowServer;
38                string openWindowSchemaName;
39                CARSchema attachedSchema(context.getCurrentSchemaId());
40                CDocActionOpenWindowHelper reportData(action.reportString);
41
42                // check if we need to get the sample data
43                if(action.serverName[0] == '$')
44                {
45                        CDocActionOpenWindowHelper::GetSampleData(context.getActLink(), context.getIfElse(), context.getActionIndex(), openWindowServer, openWindowSchemaName);
46                }
47
48                // window type
49                int windowMode = CAREnum::OpenWindowModeMapped(action.windowMode);
50                strm << "<p>Window Type: " << CAREnum::OpenWindowMode(windowMode) << endl;
51
52                // display type
53                if (windowMode == AR_ACTIVE_LINK_ACTION_OPEN_MODIFY || windowMode == AR_ACTIVE_LINK_ACTION_OPEN_DSPLY)
54                {
55                        strm << "<br/>Display Type: " << CAREnum::OpenWindowDisplayType(action.windowMode) << endl;
56                }
57
58                // target location
59                if (ActionOpenDlgTargetLocation(windowMode))
60                {
61                        strm << "<br/>Target Location: ";
62
63                        if (action.targetLocation != NULL) 
64                        {
65                                if (action.targetLocation[0] == '$')
66                                {
67                                        int fieldId = atoi(&action.targetLocation[1]);
68                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context.getCurrentSchemaId(), fieldId, context.getRootLevel())) << "$";
69
70                                        if (fieldId > 0)
71                                        {
72                                                CRefItem refItem(context, REFM_OPENWINDOW_LOCATION);
73                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
74                                        }
75                                }
76                                else
77                                {
78                                        strm << action.targetLocation;
79                                }
80                        }
81                        strm << endl;
82                }
83
84                // show "inline form" option
85                if (ActionOpenDlgInlineForm(windowMode))
86                {
87                        strm << "<br/><input type=\"checkbox\" name=\"inlineForm\" value=\"inline\" " << (reportData.getInlineForm().compare("true")==0 ? "checked" : "") << ">Inline Form<br/>" << endl;
88                }
89
90                strm << "</p>" << endl;
91
92                // ****************************************************
93                // server
94                strm << "<p>Server Name: ";
95                if(action.serverName[0] == '$' && !openWindowServer.empty())
96                {
97                        int fieldId = atoi(&action.serverName[1]);
98                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$ (Sample Server: " << arIn->LinkToServerInfo(context, openWindowServer) << ")";
99
100                        if (fieldId > 0)
101                        {
102                                CRefItem refItem(context, REFM_OPENWINDOW_SERVER);
103                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
104                        }
105                }
106                else
107                {
108                        openWindowServer = action.serverName;
109                        strm << arIn->LinkToServerInfo(context, openWindowServer);
110                }
111
112                strm << "<br/>Form Name: ";
113                if (action.schemaName[0] == '$')
114                {
115                        int fieldId = atoi(&action.schemaName[1]);
116                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$ (Sample Schema: " << arIn->LinkToSchema(openWindowSchemaName, context.getRootLevel()) << ")";
117
118                        if (fieldId > 0)
119                        {
120                                CRefItem refItem(context, REFM_OPENWINDOW_FORM);
121                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
122                        }
123
124                        if (fieldId == (-AR_KEYWORD_SCHEMA)) openWindowSchemaName = attachedSchema.GetName();
125                }
126                else
127                {
128                        openWindowSchemaName = action.schemaName;
129                        strm << arIn->LinkToSchema(openWindowSchemaName, context.getRootLevel()) << endl;
130                }
131
132                LookupFormContext openWindowContext(context, openWindowSchemaName);
133                CARSchema openWindowSchema(openWindowContext.getLookupSchemaId());
134
135                strm << "<br/>View Name: ";
136                if(action.vuiLabel[0] == '$')// == NULL || strcmp(action.vuiLabel, "")==0)
137                {
138                        int fieldId = atoi(&action.vuiLabel[1]);
139                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
140
141                        if (fieldId > 0)
142                        {
143                                CRefItem refItem(context, REFM_OPENWINDOW_VIEW);
144                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
145                        }
146                }
147                else
148                {
149                        if (action.vuiLabel[0] == 0)
150                        { 
151                                strm << "(Clear)" << endl;
152                        }
153                        else
154                        {
155                                if (!openWindowSchema.Exists())
156                                {
157                                        ObjNotFound notFound(strm);
158                                        notFound << action.vuiLabel;
159                                        notFound.End();
160                                }
161                                else
162                                {
163                                        CARVui vui(openWindowSchema.GetInsideId(), action.vuiLabel);
164                                        if (vui.Exists())
165                                                strm << URLLink(vui, context.getRootLevel());
166                                        else
167                                        {
168                                                ObjNotFound notFound(strm);
169                                                notFound << action.vuiLabel;
170                                                notFound.End();
171                                        }
172                                }
173                        }
174                }
175                strm << "</p>" << endl;
176
177                // report details here
178                if (windowMode == AR_ACTIVE_LINK_ACTION_OPEN_REPORT)
179                {
180                        if (!reportData.IsValid())
181                        {
182                                strm << "<p>";
183                                ObjNotFound notFound(strm);
184                                notFound << "Could not load report informations!";
185                                notFound.End();
186                                strm << "</p>";
187                        }
188                        else
189                        {
190                                string reportType = reportData.getReportType();
191                                string reportLocation = reportData.getReportLocation();
192                                string reportName = reportData.getReportName();
193                                string reportDestination = reportData.getReportDestination();
194
195                                strm << "<p>Report Type: ";                             
196                                if (!reportType.empty() && reportType[0] == '$')
197                                {
198                                        int fieldId = atoi(&reportType.c_str()[1]);
199                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
200                                        if (fieldId > 0)
201                                        {
202                                                CRefItem refItem(context, REFM_OPENWINDOW_REPORTTYPE);
203                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
204                                        }
205                                }
206                                else
207                                {
208                                        strm << reportType;
209                                }
210                                strm <<  "<br/>";
211
212                                int iReportLocation = atoi(reportLocation.c_str());
213                                strm << "Report Location: " << CAREnum::ReportLocation(iReportLocation);
214                               
215                                strm << "<br/>Report Name: ";
216                                if (!reportName.empty() && reportName[0] == '$')
217                                {
218                                        int fieldId = atoi(&reportName.c_str()[1]);
219                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
220                                        if (fieldId > 0)
221                                        {
222                                                CRefItem refItem(context, REFM_OPENWINDOW_REPORTNAME);
223                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
224                                        }
225                                }
226                                else
227                                {
228                                        strm << reportName;
229                                }
230                                strm << "<br/>";
231                               
232                                // to-screen:
233                                // to-print:
234                                // to-file:
235                                strm << "Report Destination: ";
236                                if (!reportDestination.empty() && reportDestination[0] == '$')
237                                {
238                                        int fieldId = atoi(&reportDestination.c_str()[1]);
239                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
240                                        if (fieldId > 0)
241                                        {
242                                                CRefItem refItem(context, REFM_OPENWINDOW_REPORTDESTINATION);
243                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
244                                        }
245                                }
246                                else
247                                {
248                                        // map the string value to the displayed combobox item of dev studio
249                                        strm << reportDestination;
250                                }
251                                strm << "</p>";
252                        }
253                }
254
255                // qualification
256                if(ActionOpenDlgQualifier(action.windowMode))
257                {
258                        if(action.query.operation != AR_COND_OP_NONE)
259                        {
260                                stringstream strmTmpQual;
261
262                                CRefItem refItem(context, REFM_OPENWINDOW_QUALIFICATION);
263                                MappingContext qualContext(context, openWindowSchema.GetInsideId());
264
265                                strmTmpQual.str("");
266                                CARQualification arQual(qualContext, refItem);
267                                arQual.CheckQuery(&action.query, strmTmpQual);
268
269                                strm << "<p>Qualification:<br/>" << endl;
270                                strm << strmTmpQual.str() << "</p>";
271                        }       
272                }
273
274                strm << "<p>";
275                // show close button
276                if (ActionOpenDlgCloseButton(windowMode))
277                {
278                        strm << "<input type=\"checkbox\" name=\"closeWnd\" value=\"closeWndAll\" " << (action.closeBox ? "checked" : "") << ">Show Close Button in Dialog<br/>" << endl;
279                }
280
281                // suppres empty list
282                if (ActionOpenDlgSuppressEmptyList(windowMode))
283                {
284                        strm << "<input type=\"checkbox\" name=\"suprEmptyLst\" value=\"suprEmptyLstVal\" " << (action.suppressEmptyLst ? "checked" : "") << ">Suppress Empty List<br/>" << endl;               
285                }
286
287                // set fields to defaults
288                bool setToDefault = false;
289                if (windowMode == AR_ACTIVE_LINK_ACTION_OPEN_SEARCH || windowMode == AR_ACTIVE_LINK_ACTION_OPEN_SUBMIT)
290                {
291
292                        for(unsigned int i= 0; i < action.inputValueFieldPairs.numItems; ++i)
293                        {
294                                if (action.inputValueFieldPairs.fieldAssignList[i].fieldId == AR_SET_DEFAULTS_ID)
295                                {
296                                        setToDefault = true;
297                                        break;
298                                }
299                        }
300
301                        strm << "<input type=\"checkbox\" name=\"setToDefault\" value=\"setToDefaultVal\" " << (setToDefault ? "checked" : "") << ">Set Fields To Defaults<br/>" << endl;               
302                }
303
304                // input mapping
305                if (ActionOpenDlgInputMapping(windowMode) && !setToDefault)
306                {
307                        MappingContext mappingContext(context);
308                        mappingContext.setPrimarySchemaId(openWindowSchema.GetInsideId());
309                        mappingContext.setSecondarySchemaId(context.getCurrentSchemaId());
310
311                        CARAssignHelper assignHelper(mappingContext);
312                        strm << assignHelper.OpenWindowAssignment(action.inputValueFieldPairs, mappingContext.getActionIndex(), mappingContext.getIfElse(), OWM_OPEN);
313                }
314
315                // output mapping (dialog on close)
316                if (ActionOpenDlgOutputMapping(windowMode))
317                {
318                        strm << "On Dialog Close Action:<br/>";
319
320                        MappingContext mappingContext(context, openWindowSchema.GetInsideId());
321
322                        CARAssignHelper assignHelper(mappingContext);
323                        strm << assignHelper.OpenWindowAssignment(action.outputValueFieldPairs, mappingContext.getActionIndex(), mappingContext.getIfElse(), OWM_CLOSE);
324                }
325                strm << "</p>";
326
327                if (ActionOpenDlgMessage(windowMode))
328                {
329                        // message
330                        strm << "<p>If No Request Match: ";
331                        if (action.noMatchContinue)
332                        {
333                                strm << "Do not show any message";
334                        }
335                        else if (action.msg.messageText == NULL || action.msg.messageText[0] == 0)      // dont know, if thats the correct criteria for the default message
336                        {
337                                strm << "Show default message";
338                        }
339                        else if (action.msg.messageType > 0)
340                        {
341                                strm << "Show message<br/>";
342                               
343                                DocAlMessageAction docMessage(context, action.msg);
344                                docMessage.ToStream(strm);
345                        }
346                        strm << "</p>" << endl;
347
348                        // sorting
349                        if (action.sortOrderList.numItems > 0) 
350                        {
351                                CTable tblSortList("sortList", "TblObjectList");
352                                tblSortList.AddColumn(40, "Field Name");
353                                tblSortList.AddColumn(15, "Field Id");
354                                tblSortList.AddColumn(15, "Field Type");
355                                tblSortList.AddColumn(30, "Sort Order");
356                               
357                                char strFieldId[20];
358
359                                for (unsigned int i = 0; i < action.sortOrderList.numItems; ++i)
360                                {
361                                        CARField rField(openWindowSchema.GetInsideId(), action.sortOrderList.sortList[i].fieldId);
362
363                                        strFieldId[0] = 0;
364                                        sprintf(strFieldId, "%d", static_cast<int>(action.sortOrderList.sortList[i].fieldId));
365
366                                        CTableRow row("cssStdRow");
367                                        row.AddCell(arIn->LinkToField(openWindowContext, action.sortOrderList.sortList[i].fieldId));
368                                        row.AddCell(strFieldId);
369                                        row.AddCell((rField.Exists() ? CAREnum::DataType(rField.GetDataType()) : "Unknown"));
370                                        row.AddCell(CAREnum::SchemaSortOrder(action.sortOrderList.sortList[i].sortOrder));
371                                       
372                                        tblSortList.AddRow(row);
373
374                                        if (openWindowSchema.Exists())
375                                        {
376                                                CRefItem refItem(context, REFM_OPENWINDOW_SORTBY);
377                                                arIn->AddFieldReference(openWindowSchema.GetInsideId(), action.sortOrderList.sortList[i].fieldId, refItem);
378                                        }
379                                }
380
381                                strm << "<p>Sort Order" << tblSortList << "</p>";
382                        }
383
384                        // additional report informations
385                        if (windowMode == AR_ACTIVE_LINK_ACTION_OPEN_REPORT)
386                        {
387                                string entryIDs = reportData.getEntryIds();
388                                string queryOverride = reportData.getQueryOverride();
389                                string reportOperation = reportData.getReportOperation();
390                                string charEncoding = reportData.getCharEncoding();
391
392                                strm << "<p>EntryIDs: ";
393                                if (!entryIDs.empty() && entryIDs[0] == '$')
394                                {
395                                        int fieldId = atoi(&entryIDs.c_str()[1]);
396                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
397                                        if (fieldId > 0)
398                                        {
399                                                CRefItem refItem(context, REFM_OPENWINDOW_ENTRYIDS);
400                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
401                                        }
402                                }
403                                else
404                                {
405                                        strm << entryIDs;
406                                }
407                               
408                                strm << "<br/>Query Override: ";
409                                if (!queryOverride.empty() && queryOverride[0] == '$')
410                                {
411                                        int fieldId = atoi(&entryIDs.c_str()[1]);
412                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
413                                        if (fieldId > 0)
414                                        {
415                                                CRefItem refItem(context, REFM_OPENWINDOW_QUERYOVERRIDE);
416                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
417                                        }
418                                }
419                                else
420                                {
421                                        strm << queryOverride;
422                                }
423                               
424                                strm << "<br/>Report Operation: ";
425                                int iReportOperation = atoi(reportOperation.c_str());
426                                if (iReportOperation == 0) iReportOperation = 2;        // set default to Run
427                                strm << CAREnum::ReportOperation(iReportOperation);
428
429                                strm << "<br/>Character Encoding: ";
430                                if (!charEncoding.empty() && charEncoding[0] == '$')
431                                {
432                                        int fieldId = atoi(&charEncoding.c_str()[1]);
433                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
434                                        if (fieldId > 0)
435                                        {
436                                                CRefItem refItem(context, REFM_OPENWINDOW_CHARENC);
437                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
438                                        }
439                                }
440                                else
441                                {
442                                        strm << charEncoding;
443                                }
444                                strm << "</p>" << endl;
445                        }
446
447                        // polling interval
448                        if (ActionOpenDlgPoolingInterval(windowMode) && action.pollinginterval > 0)
449                        {
450                                strm << "<p>Polling interval: " << action.pollinginterval << "</p>" << endl;
451                        }
452                }
453        }
454        catch(exception& e)
455        {
456                cout << "EXCEPTION in AlActionOpenDlg of '" << context.getCurrentObject().GetName() << "': " << e.what() << endl;
457        }
458}
459
460bool DocOpenWindowAction::ActionOpenDlgQualifier(int nWindowType)
461{
462        switch(nWindowType)
463        {
464        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DETAIL:
465        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY:
466        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_LST:
467        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_SPLIT:
468        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY_LST:
469        case AR_ACTIVE_LINK_ACTION_OPEN_REPORT:
470        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY_DETAIL:
471        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY_SPLIT:
472        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY:
473#if AR_CURRENT_API_VERSION >= AR_API_VERSION_763
474        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT:
475        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT_LST:
476        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT_DETAIL:
477        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT_SPLIT:
478        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT:
479        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT_LST:
480        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT_DETAIL:
481        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT_SPLIT:
482#endif
483                return true;
484        default: return false;
485        }
486}
487
488bool DocOpenWindowAction::ActionOpenDlgTargetLocation(int nWindowType)
489{
490        switch (nWindowType)
491        {
492        case AR_ACTIVE_LINK_ACTION_OPEN_SEARCH:
493        case AR_ACTIVE_LINK_ACTION_OPEN_SUBMIT:
494        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY:
495        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY:
496        case AR_ACTIVE_LINK_ACTION_OPEN_REPORT:
497#if AR_CURRENT_API_VERSION >= AR_API_VERSION_763
498        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT: 
499        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT:
500#endif
501                return true;
502        default: return false;
503        }
504}
505
506bool DocOpenWindowAction::ActionOpenDlgCloseButton(int nWindowType)
507{
508        switch (nWindowType)
509        {
510        case AR_ACTIVE_LINK_ACTION_OPEN_DLG:
511#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764
512        case AR_ACTIVE_LINK_ACTION_OPEN_POPUP:
513#endif
514                return true;
515        default: return false;
516        }
517}
518
519bool DocOpenWindowAction::ActionOpenDlgSuppressEmptyList(int nWindowType)
520{
521        switch (nWindowType)
522        {
523        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY:
524        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY:
525#if AR_CURRENT_API_VERSION >= AR_API_VERSION_763
526        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT:
527        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT:
528#endif
529                return true;
530        default: return false;
531                       
532        }
533}
534
535bool DocOpenWindowAction::ActionOpenDlgInputMapping(int nWindowType)
536{
537        switch (nWindowType)
538        {
539        case AR_ACTIVE_LINK_ACTION_OPEN_DLG:
540        case AR_ACTIVE_LINK_ACTION_OPEN_SEARCH:
541        case AR_ACTIVE_LINK_ACTION_OPEN_SUBMIT:
542#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764
543        case AR_ACTIVE_LINK_ACTION_OPEN_POPUP:
544#endif
545                return true;
546        default: return false;
547        }
548}
549
550bool DocOpenWindowAction::ActionOpenDlgOutputMapping(int nWindowType)
551{
552        switch (nWindowType)
553        {
554        case AR_ACTIVE_LINK_ACTION_OPEN_DLG:
555#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764
556        case AR_ACTIVE_LINK_ACTION_OPEN_POPUP:
557#endif
558                return true;
559        default: return false;
560        }
561}
562
563bool DocOpenWindowAction::ActionOpenDlgPoolingInterval(int nWindowType)
564{
565        switch (nWindowType)
566        {
567        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY:
568        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY:
569#if AR_CURRENT_API_VERSION >= AR_API_VERSION_763
570        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT:
571        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT:
572#endif
573                return true;
574        default: return false;
575        }
576}
577
578bool DocOpenWindowAction::ActionOpenDlgMessage(int nWindowType)
579{
580        switch (nWindowType)
581        {
582        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY:
583        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY:
584#if AR_CURRENT_API_VERSION >= AR_API_VERSION_763
585        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT:
586        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT:
587#endif
588        case AR_ACTIVE_LINK_ACTION_OPEN_REPORT:
589                return true;
590        default: return false;
591        }
592}
593
594bool DocOpenWindowAction::ActionOpenDlgInlineForm(int nWindowType)
595{
596        // The "Inline Form" option isn't displayed on open window actions of type Dialog, Report and Popup. Show it for all other types!
597
598        switch (nWindowType)
599        {
600        //case AR_ACTIVE_LINK_ACTION_OPEN_DLG:
601        case AR_ACTIVE_LINK_ACTION_OPEN_SEARCH:
602        case AR_ACTIVE_LINK_ACTION_OPEN_SUBMIT:
603        //case AR_ACTIVE_LINK_ACTION_OPEN_REPORT:
604        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY:
605        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY:
606#if AR_CURRENT_API_VERSION >= AR_API_VERSION_763
607        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT:
608        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT:
609#endif
610        //case AR_ACTIVE_LINK_ACTION_OPEN_POPUP:
611                return true;
612        default: return false;
613        }
614}
Note: See TracBrowser for help on using the repository browser.