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

Revision 607, 19.4 KB checked in by jls17, 5 years ago (diff)
  • resolving open-window-schema actions was done twice (1st; while documenting the action itself and 2nd; during schema documentation to show open-window-actions) and not in the same way, which did lead to divergent results; now a ref-item is created during action-documentation and the schema-documentation does just look for/list the ref-items. As a result open-window actions using $SCHEMA$ (with sample data) on multiple attached forms do create a reference on every attached form.
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                // add a used-as-open-window-schema reference to the detected schema
139                CRefItem openWindowSchemaRef(context, REFM_OPENWINDOW_FORM);
140                if (!openWindowSchema.ReferenceExists(openWindowSchemaRef))
141                        openWindowSchema.AddReference(openWindowSchemaRef);
142
143                strm << "<br/>View Name: ";
144                if(action.vuiLabel[0] == '$')// == NULL || strcmp(action.vuiLabel, "")==0)
145                {
146                        int fieldId = atoi(&action.vuiLabel[1]);
147                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
148
149                        if (fieldId > 0)
150                        {
151                                CRefItem refItem(context, REFM_OPENWINDOW_VIEW);
152                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
153                        }
154                }
155                else
156                {
157                        if (action.vuiLabel[0] == 0)
158                        { 
159                                strm << "(Clear)" << endl;
160                        }
161                        else
162                        {
163                                if (!openWindowSchema.Exists())
164                                {
165                                        ObjNotFound notFound(strm);
166                                        notFound << action.vuiLabel;
167                                        notFound.End();
168                                }
169                                else
170                                {
171                                        CARVui vui(openWindowSchema.GetInsideId(), action.vuiLabel);
172                                        if (vui.Exists())
173                                                strm << URLLink(vui, context.getRootLevel());
174                                        else
175                                        {
176                                                ObjNotFound notFound(strm);
177                                                notFound << action.vuiLabel;
178                                                notFound.End();
179                                        }
180                                }
181                        }
182                }
183                strm << "</p>" << endl;
184
185                // report details here
186                if (windowMode == AR_ACTIVE_LINK_ACTION_OPEN_REPORT)
187                {
188                        if (!reportData.IsValid())
189                        {
190                                strm << "<p>";
191                                ObjNotFound notFound(strm);
192                                notFound << "Could not load report informations!";
193                                notFound.End();
194                                strm << "</p>";
195                        }
196                        else
197                        {
198                                string reportType = reportData.getReportType();
199                                string reportLocation = reportData.getReportLocation();
200                                string reportName = reportData.getReportName();
201                                string reportDestination = reportData.getReportDestination();
202
203                                strm << "<p>Report Type: ";                             
204                                if (!reportType.empty() && reportType[0] == '$')
205                                {
206                                        int fieldId = atoi(&reportType.c_str()[1]);
207                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
208                                        if (fieldId > 0)
209                                        {
210                                                CRefItem refItem(context, REFM_OPENWINDOW_REPORTTYPE);
211                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
212                                        }
213                                }
214                                else
215                                {
216                                        strm << reportType;
217                                }
218                                strm <<  "<br/>";
219
220                                int iReportLocation = atoi(reportLocation.c_str());
221                                strm << "Report Location: " << CAREnum::ReportLocation(iReportLocation);
222                               
223                                strm << "<br/>Report Name: ";
224                                if (!reportName.empty() && reportName[0] == '$')
225                                {
226                                        int fieldId = atoi(&reportName.c_str()[1]);
227                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
228                                        if (fieldId > 0)
229                                        {
230                                                CRefItem refItem(context, REFM_OPENWINDOW_REPORTNAME);
231                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
232                                        }
233                                }
234                                else
235                                {
236                                        strm << reportName;
237                                }
238                                strm << "<br/>";
239                               
240                                // to-screen:
241                                // to-print:
242                                // to-file:
243                                strm << "Report Destination: ";
244                                if (!reportDestination.empty() && reportDestination[0] == '$')
245                                {
246                                        int fieldId = atoi(&reportDestination.c_str()[1]);
247                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
248                                        if (fieldId > 0)
249                                        {
250                                                CRefItem refItem(context, REFM_OPENWINDOW_REPORTDESTINATION);
251                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
252                                        }
253                                }
254                                else
255                                {
256                                        // map the string value to the displayed combobox item of dev studio
257                                        strm << reportDestination;
258                                }
259                                strm << "</p>";
260                        }
261                }
262
263                // qualification
264                if(ActionOpenDlgQualifier(action.windowMode))
265                {
266                        if(action.query.operation != AR_COND_OP_NONE)
267                        {
268                                stringstream strmTmpQual;
269
270                                CRefItem refItem(context, REFM_OPENWINDOW_QUALIFICATION);
271                                MappingContext qualContext(context, openWindowSchema.GetInsideId());
272
273                                strmTmpQual.str("");
274                                CARQualification arQual(qualContext, refItem);
275                                arQual.CheckQuery(&action.query, strmTmpQual);
276
277                                strm << "<p>Qualification:<br/>" << endl;
278                                strm << strmTmpQual.str() << "</p>";
279                        }       
280                }
281
282                strm << "<p>";
283                // show close button
284                if (ActionOpenDlgCloseButton(windowMode))
285                {
286                        strm << "<input type=\"checkbox\" name=\"closeWnd\" value=\"closeWndAll\" " << (action.closeBox ? "checked" : "") << ">Show Close Button in Dialog<br/>" << endl;
287                }
288
289                // suppres empty list
290                if (ActionOpenDlgSuppressEmptyList(windowMode))
291                {
292                        strm << "<input type=\"checkbox\" name=\"suprEmptyLst\" value=\"suprEmptyLstVal\" " << (action.suppressEmptyLst ? "checked" : "") << ">Suppress Empty List<br/>" << endl;               
293                }
294
295                // set fields to defaults
296                bool setToDefault = false;
297                if (windowMode == AR_ACTIVE_LINK_ACTION_OPEN_SEARCH || windowMode == AR_ACTIVE_LINK_ACTION_OPEN_SUBMIT)
298                {
299
300                        for(unsigned int i= 0; i < action.inputValueFieldPairs.numItems; ++i)
301                        {
302                                if (action.inputValueFieldPairs.fieldAssignList[i].fieldId == AR_SET_DEFAULTS_ID)
303                                {
304                                        setToDefault = true;
305                                        break;
306                                }
307                        }
308
309                        strm << "<input type=\"checkbox\" name=\"setToDefault\" value=\"setToDefaultVal\" " << (setToDefault ? "checked" : "") << ">Set Fields To Defaults<br/>" << endl;               
310                }
311
312                // input mapping
313                if (ActionOpenDlgInputMapping(windowMode) && !setToDefault)
314                {
315                        MappingContext mappingContext(context);
316                        mappingContext.setPrimarySchemaId(openWindowSchema.GetInsideId());
317                        mappingContext.setSecondarySchemaId(context.getCurrentSchemaId());
318
319                        CARAssignHelper assignHelper(mappingContext);
320                        strm << assignHelper.OpenWindowAssignment(action.inputValueFieldPairs, mappingContext.getActionIndex(), mappingContext.getIfElse(), OWM_OPEN);
321                }
322
323                // output mapping (dialog on close)
324                if (ActionOpenDlgOutputMapping(windowMode))
325                {
326                        strm << "On Dialog Close Action:<br/>";
327
328                        MappingContext mappingContext(context, openWindowSchema.GetInsideId());
329
330                        CARAssignHelper assignHelper(mappingContext);
331                        strm << assignHelper.OpenWindowAssignment(action.outputValueFieldPairs, mappingContext.getActionIndex(), mappingContext.getIfElse(), OWM_CLOSE);
332                }
333                strm << "</p>";
334
335                if (ActionOpenDlgMessage(windowMode))
336                {
337                        // message
338                        strm << "<p>If No Request Match: ";
339                        if (action.noMatchContinue)
340                        {
341                                strm << "Do not show any message";
342                        }
343                        else if (action.msg.messageText == NULL || action.msg.messageText[0] == 0)      // dont know, if thats the correct criteria for the default message
344                        {
345                                strm << "Show default message";
346                        }
347                        else if (action.msg.messageType > 0)
348                        {
349                                strm << "Show message<br/>";
350                               
351                                DocAlMessageAction docMessage(context, action.msg);
352                                docMessage.ToStream(strm);
353                        }
354                        strm << "</p>" << endl;
355
356                        // sorting
357                        if (action.sortOrderList.numItems > 0) 
358                        {
359                                CTable tblSortList("sortList", "TblObjectList");
360                                tblSortList.AddColumn(40, "Field Name");
361                                tblSortList.AddColumn(15, "Field Id");
362                                tblSortList.AddColumn(15, "Field Type");
363                                tblSortList.AddColumn(30, "Sort Order");
364                               
365                                char strFieldId[20];
366
367                                for (unsigned int i = 0; i < action.sortOrderList.numItems; ++i)
368                                {
369                                        CARField rField(openWindowSchema.GetInsideId(), action.sortOrderList.sortList[i].fieldId);
370
371                                        strFieldId[0] = 0;
372                                        sprintf(strFieldId, "%d", static_cast<int>(action.sortOrderList.sortList[i].fieldId));
373
374                                        CTableRow row("cssStdRow");
375                                        row.AddCell(arIn->LinkToField(openWindowContext, action.sortOrderList.sortList[i].fieldId));
376                                        row.AddCell(strFieldId);
377                                        row.AddCell((rField.Exists() ? CAREnum::DataType(rField.GetDataType()) : "Unknown"));
378                                        row.AddCell(CAREnum::SchemaSortOrder(action.sortOrderList.sortList[i].sortOrder));
379                                       
380                                        tblSortList.AddRow(row);
381
382                                        if (openWindowSchema.Exists())
383                                        {
384                                                CRefItem refItem(context, REFM_OPENWINDOW_SORTBY);
385                                                arIn->AddFieldReference(openWindowSchema.GetInsideId(), action.sortOrderList.sortList[i].fieldId, refItem);
386                                        }
387                                }
388
389                                strm << "<p>Sort Order" << tblSortList << "</p>";
390                        }
391
392                        // additional report informations
393                        if (windowMode == AR_ACTIVE_LINK_ACTION_OPEN_REPORT)
394                        {
395                                string entryIDs = reportData.getEntryIds();
396                                string queryOverride = reportData.getQueryOverride();
397                                string reportOperation = reportData.getReportOperation();
398                                string charEncoding = reportData.getCharEncoding();
399
400                                strm << "<p>EntryIDs: ";
401                                if (!entryIDs.empty() && entryIDs[0] == '$')
402                                {
403                                        int fieldId = atoi(&entryIDs.c_str()[1]);
404                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
405                                        if (fieldId > 0)
406                                        {
407                                                CRefItem refItem(context, REFM_OPENWINDOW_ENTRYIDS);
408                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
409                                        }
410                                }
411                                else
412                                {
413                                        strm << entryIDs;
414                                }
415                               
416                                strm << "<br/>Query Override: ";
417                                if (!queryOverride.empty() && queryOverride[0] == '$')
418                                {
419                                        int fieldId = atoi(&entryIDs.c_str()[1]);
420                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
421                                        if (fieldId > 0)
422                                        {
423                                                CRefItem refItem(context, REFM_OPENWINDOW_QUERYOVERRIDE);
424                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
425                                        }
426                                }
427                                else
428                                {
429                                        strm << queryOverride;
430                                }
431                               
432                                strm << "<br/>Report Operation: ";
433                                int iReportOperation = atoi(reportOperation.c_str());
434                                if (iReportOperation == 0) iReportOperation = 2;        // set default to Run
435                                strm << CAREnum::ReportOperation(iReportOperation);
436
437                                strm << "<br/>Character Encoding: ";
438                                if (!charEncoding.empty() && charEncoding[0] == '$')
439                                {
440                                        int fieldId = atoi(&charEncoding.c_str()[1]);
441                                        strm << "$" << (fieldId < 0 ? CAREnum::Keyword(abs(fieldId)) : arIn->LinkToField(context, fieldId)) << "$";
442                                        if (fieldId > 0)
443                                        {
444                                                CRefItem refItem(context, REFM_OPENWINDOW_CHARENC);
445                                                arIn->AddFieldReference(context.getCurrentSchemaId(), fieldId, refItem);
446                                        }
447                                }
448                                else
449                                {
450                                        strm << charEncoding;
451                                }
452                                strm << "</p>" << endl;
453                        }
454
455                        // polling interval
456                        if (ActionOpenDlgPoolingInterval(windowMode) && action.pollinginterval > 0)
457                        {
458                                strm << "<p>Polling interval: " << action.pollinginterval << "</p>" << endl;
459                        }
460                }
461        }
462        catch(exception& e)
463        {
464                cout << "EXCEPTION in AlActionOpenDlg of '" << context.getCurrentObject().GetName() << "': " << e.what() << endl;
465        }
466}
467
468bool DocOpenWindowAction::ActionOpenDlgQualifier(int nWindowType)
469{
470        switch(nWindowType)
471        {
472        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DETAIL:
473        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY:
474        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_LST:
475        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_SPLIT:
476        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY_LST:
477        case AR_ACTIVE_LINK_ACTION_OPEN_REPORT:
478        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY_DETAIL:
479        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY_SPLIT:
480        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY:
481#if AR_CURRENT_API_VERSION >= AR_API_VERSION_763
482        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT:
483        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT_LST:
484        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT_DETAIL:
485        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT_SPLIT:
486        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT:
487        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT_LST:
488        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT_DETAIL:
489        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT_SPLIT:
490#endif
491                return true;
492        default: return false;
493        }
494}
495
496bool DocOpenWindowAction::ActionOpenDlgTargetLocation(int nWindowType)
497{
498        switch (nWindowType)
499        {
500        case AR_ACTIVE_LINK_ACTION_OPEN_SEARCH:
501        case AR_ACTIVE_LINK_ACTION_OPEN_SUBMIT:
502        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY:
503        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY:
504        case AR_ACTIVE_LINK_ACTION_OPEN_REPORT:
505#if AR_CURRENT_API_VERSION >= AR_API_VERSION_763
506        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT: 
507        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT:
508#endif
509                return true;
510        default: return false;
511        }
512}
513
514bool DocOpenWindowAction::ActionOpenDlgCloseButton(int nWindowType)
515{
516        switch (nWindowType)
517        {
518        case AR_ACTIVE_LINK_ACTION_OPEN_DLG:
519#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764
520        case AR_ACTIVE_LINK_ACTION_OPEN_POPUP:
521#endif
522                return true;
523        default: return false;
524        }
525}
526
527bool DocOpenWindowAction::ActionOpenDlgSuppressEmptyList(int nWindowType)
528{
529        switch (nWindowType)
530        {
531        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY:
532        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY:
533#if AR_CURRENT_API_VERSION >= AR_API_VERSION_763
534        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT:
535        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT:
536#endif
537                return true;
538        default: return false;
539                       
540        }
541}
542
543bool DocOpenWindowAction::ActionOpenDlgInputMapping(int nWindowType)
544{
545        switch (nWindowType)
546        {
547        case AR_ACTIVE_LINK_ACTION_OPEN_DLG:
548        case AR_ACTIVE_LINK_ACTION_OPEN_SEARCH:
549        case AR_ACTIVE_LINK_ACTION_OPEN_SUBMIT:
550#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764
551        case AR_ACTIVE_LINK_ACTION_OPEN_POPUP:
552#endif
553                return true;
554        default: return false;
555        }
556}
557
558bool DocOpenWindowAction::ActionOpenDlgOutputMapping(int nWindowType)
559{
560        switch (nWindowType)
561        {
562        case AR_ACTIVE_LINK_ACTION_OPEN_DLG:
563#if AR_CURRENT_API_VERSION >= AR_API_VERSION_764
564        case AR_ACTIVE_LINK_ACTION_OPEN_POPUP:
565#endif
566                return true;
567        default: return false;
568        }
569}
570
571bool DocOpenWindowAction::ActionOpenDlgPoolingInterval(int nWindowType)
572{
573        switch (nWindowType)
574        {
575        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY:
576        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY:
577#if AR_CURRENT_API_VERSION >= AR_API_VERSION_763
578        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT:
579        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT:
580#endif
581                return true;
582        default: return false;
583        }
584}
585
586bool DocOpenWindowAction::ActionOpenDlgMessage(int nWindowType)
587{
588        switch (nWindowType)
589        {
590        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY:
591        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY:
592#if AR_CURRENT_API_VERSION >= AR_API_VERSION_763
593        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT:
594        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT:
595#endif
596        case AR_ACTIVE_LINK_ACTION_OPEN_REPORT:
597                return true;
598        default: return false;
599        }
600}
601
602bool DocOpenWindowAction::ActionOpenDlgInlineForm(int nWindowType)
603{
604        // The "Inline Form" option isn't displayed on open window actions of type Dialog, Report and Popup. Show it for all other types!
605
606        switch (nWindowType)
607        {
608        //case AR_ACTIVE_LINK_ACTION_OPEN_DLG:
609        case AR_ACTIVE_LINK_ACTION_OPEN_SEARCH:
610        case AR_ACTIVE_LINK_ACTION_OPEN_SUBMIT:
611        //case AR_ACTIVE_LINK_ACTION_OPEN_REPORT:
612        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY:
613        case AR_ACTIVE_LINK_ACTION_OPEN_DSPLY:
614#if AR_CURRENT_API_VERSION >= AR_API_VERSION_763
615        case AR_ACTIVE_LINK_ACTION_OPEN_MODIFY_DIRECT:
616        case AR_ACTIVE_LINK_ACTION_OPEN_DISPLAY_DIRECT:
617#endif
618        //case AR_ACTIVE_LINK_ACTION_OPEN_POPUP:
619                return true;
620        default: return false;
621        }
622}
Note: See TracBrowser for help on using the repository browser.