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

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