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

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