comparison Applications/StoneWebViewer/WebApplication/index.html @ 1704:902d13889ae4

LoadMultipartInstanceInViewport() in C++
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 27 Nov 2020 17:15:09 +0100
parents 76c590a62755
children 3d62634d442f
comparison
equal deleted inserted replaced
1703:76c590a62755 1704:902d13889ae4
243 243
244 244
245 <!-- Series with multiple multiframe instances (CINE) --> 245 <!-- Series with multiple multiframe instances (CINE) -->
246 <li class="wvSerieslist__seriesItem" 246 <li class="wvSerieslist__seriesItem"
247 v-bind:class="{ highlighted : GetActiveSeries().includes(series[seriesIndex].tags['0020,000e']), 'wvSerieslist__seriesItem--list' : leftMode != 'grid', 'wvSerieslist__seriesItem--grid' : leftMode == 'grid' }" 247 v-bind:class="{ highlighted : GetActiveSeries().includes(series[seriesIndex].tags['0020,000e']), 'wvSerieslist__seriesItem--list' : leftMode != 'grid', 'wvSerieslist__seriesItem--grid' : leftMode == 'grid' }"
248 v-on:dragstart="SeriesDragStart($event, seriesIndex)" 248 v-for="(numberOfFrames, sopInstanceUid) in series[seriesIndex].multiframeInstances"
249 v-on:click="ClickSeries(seriesIndex)" 249 v-on:dragstart="MultiframeInstanceDragStart($event, seriesIndex, sopInstanceUid)"
250 v-for="(numberOfFrames, sopInstanceUid) in series[seriesIndex].multiframeInstances"> 250 v-on:click="ClickMultiframeInstance(seriesIndex, sopInstanceUid)">
251 <div class="wvSerieslist__picture" style="z-index:0" 251 <div class="wvSerieslist__picture" style="z-index:0"
252 draggable="true"> 252 draggable="true">
253 <img v-if="series[seriesIndex].type == stone.ThumbnailType.IMAGE" 253 <img v-if="series[seriesIndex].type == stone.ThumbnailType.IMAGE"
254 v-bind:src="sopInstanceUid in multiframeInstanceThumbnails ? multiframeInstanceThumbnails[sopInstanceUid] : series[seriesIndex].thumbnail" 254 v-bind:src="sopInstanceUid in multiframeInstanceThumbnails ? multiframeInstanceThumbnails[sopInstanceUid] : series[seriesIndex].thumbnail"
255 style="vertical-align:baseline" 255 style="vertical-align:baseline"
262 </div> 262 </div>
263 </div> 263 </div>
264 264
265 <div v-if="leftMode == 'full'" class="wvSerieslist__information" 265 <div v-if="leftMode == 'full'" class="wvSerieslist__information"
266 draggable="true" 266 draggable="true"
267 v-on:dragstart="SeriesDragStart($event, seriesIndex)" 267 v-on:dragstart="MultiframeInstanceDragStart($event, seriesIndex, sopInstanceUid)"
268 v-on:click="ClickSeries(seriesIndex)"> 268 v-on:click="MultiframeInstanceDragStart($event, seriesIndex, sopInstanceUid)">
269 <p class="wvSerieslist__label"> 269 <p class="wvSerieslist__label">
270 [{{ series[seriesIndex].tags['0008,0060'] }}] 270 [{{ series[seriesIndex].tags['0008,0060'] }}]
271 {{ series[seriesIndex].tags['0008,103e'] }} 271 {{ series[seriesIndex].tags['0008,103e'] }}
272 </p> 272 </p>
273 </div> 273 </div>
521 <div id="viewport" class="wvSplitpane"> 521 <div id="viewport" class="wvSplitpane">
522 <viewport v-on:updated-series="SetViewportSeries(1, $event)" 522 <viewport v-on:updated-series="SetViewportSeries(1, $event)"
523 v-on:selected-viewport="activeViewport=1" 523 v-on:selected-viewport="activeViewport=1"
524 v-show="viewport1Visible" 524 v-show="viewport1Visible"
525 canvas-id="canvas1" 525 canvas-id="canvas1"
526 v-bind:series="viewport1Series" 526 v-bind:content="viewport1Content"
527 v-bind:left="viewport1Left" 527 v-bind:left="viewport1Left"
528 v-bind:top="viewport1Top" 528 v-bind:top="viewport1Top"
529 v-bind:width="viewport1Width" 529 v-bind:width="viewport1Width"
530 v-bind:height="viewport1Height" 530 v-bind:height="viewport1Height"
531 v-bind:show-info="showInfo" 531 v-bind:show-info="showInfo"
532 v-bind:active="activeViewport==1"></viewport> 532 v-bind:active="activeViewport==1"></viewport>
533 <viewport v-on:updated-series="SetViewportSeries(2, $event)" 533 <viewport v-on:updated-series="SetViewportSeries(2, $event)"
534 v-on:selected-viewport="activeViewport=2" 534 v-on:selected-viewport="activeViewport=2"
535 v-show="viewport2Visible" 535 v-show="viewport2Visible"
536 canvas-id="canvas2" 536 canvas-id="canvas2"
537 v-bind:series="viewport2Series" 537 v-bind:content="viewport2Content"
538 v-bind:left="viewport2Left" 538 v-bind:left="viewport2Left"
539 v-bind:top="viewport2Top" 539 v-bind:top="viewport2Top"
540 v-bind:width="viewport2Width" 540 v-bind:width="viewport2Width"
541 v-bind:height="viewport2Height" 541 v-bind:height="viewport2Height"
542 v-bind:show-info="showInfo" 542 v-bind:show-info="showInfo"
543 v-bind:active="activeViewport==2"></viewport> 543 v-bind:active="activeViewport==2"></viewport>
544 <viewport v-on:updated-series="SetViewportSeries(3, $event)" 544 <viewport v-on:updated-series="SetViewportSeries(3, $event)"
545 v-on:selected-viewport="activeViewport=3" 545 v-on:selected-viewport="activeViewport=3"
546 v-show="viewport3Visible" 546 v-show="viewport3Visible"
547 canvas-id="canvas3" 547 canvas-id="canvas3"
548 v-bind:series="viewport3Series" 548 v-bind:content="viewport3Content"
549 v-bind:left="viewport3Left" 549 v-bind:left="viewport3Left"
550 v-bind:top="viewport3Top" 550 v-bind:top="viewport3Top"
551 v-bind:width="viewport3Width" 551 v-bind:width="viewport3Width"
552 v-bind:height="viewport3Height" 552 v-bind:height="viewport3Height"
553 v-bind:show-info="showInfo" 553 v-bind:show-info="showInfo"
554 v-bind:active="activeViewport==3"></viewport> 554 v-bind:active="activeViewport==3"></viewport>
555 <viewport v-on:updated-series="SetViewportSeries(4, $event)" 555 <viewport v-on:updated-series="SetViewportSeries(4, $event)"
556 v-on:selected-viewport="activeViewport=4" 556 v-on:selected-viewport="activeViewport=4"
557 v-show="viewport4Visible" 557 v-show="viewport4Visible"
558 canvas-id="canvas4" 558 canvas-id="canvas4"
559 v-bind:series="viewport4Series" 559 v-bind:content="viewport4Content"
560 v-bind:left="viewport4Left" 560 v-bind:left="viewport4Left"
561 v-bind:top="viewport4Top" 561 v-bind:top="viewport4Top"
562 v-bind:width="viewport4Width" 562 v-bind:width="viewport4Width"
563 v-bind:height="viewport4Height" 563 v-bind:height="viewport4Height"
564 v-bind:show-info="showInfo" 564 v-bind:show-info="showInfo"
577 left: left, 577 left: left,
578 top: top, 578 top: top,
579 width: width, 579 width: width,
580 height: height }"> 580 height: height }">
581 <div v-bind:class="{ 'wvSplitpane__cellBorder--selected' : active, 581 <div v-bind:class="{ 'wvSplitpane__cellBorder--selected' : active,
582 'wvSplitpane__cellBorder' : series.color == '', 582 'wvSplitpane__cellBorder' : content.color == '',
583 'wvSplitpane__cellBorder--blue' : series.color == 'blue', 583 'wvSplitpane__cellBorder--blue' : content.color == 'blue',
584 'wvSplitpane__cellBorder--red' : series.color == 'red', 584 'wvSplitpane__cellBorder--red' : content.color == 'red',
585 'wvSplitpane__cellBorder--green' : series.color == 'green', 585 'wvSplitpane__cellBorder--green' : content.color == 'green',
586 'wvSplitpane__cellBorder--yellow' : series.color == 'yellow', 586 'wvSplitpane__cellBorder--yellow' : content.color == 'yellow',
587 'wvSplitpane__cellBorder--violet' : series.color == 'violet' 587 'wvSplitpane__cellBorder--violet' : content.color == 'violet'
588 }" 588 }"
589 ondragover="event.preventDefault()" 589 ondragover="event.preventDefault()"
590 v-on:drop="DragDrop($event)" 590 v-on:drop="DragDrop($event)"
591 style="width:100%;height:100%"> 591 style="width:100%;height:100%">
592 <div class="wvSplitpane__cell" 592 <div class="wvSplitpane__cell"
598 style="position:absolute; left:0; top:0; width:100%; height:100%" 598 style="position:absolute; left:0; top:0; width:100%; height:100%"
599 oncontextmenu="return false"></canvas> 599 oncontextmenu="return false"></canvas>
600 600
601 <div v-show="showInfo"> 601 <div v-show="showInfo">
602 <div class="wv-overlay"> 602 <div class="wv-overlay">
603 <div v-if="'tags' in series" class="wv-overlay-topleft"> 603 <div v-if="'tags' in content" class="wv-overlay-topleft">
604 {{ series.tags['0010,0010'] }}<br/> 604 {{ content.tags['0010,0010'] }}<br/>
605 {{ series.tags['0010,0020'] }} 605 {{ content.tags['0010,0020'] }}
606 </div> 606 </div>
607 <div v-if="'tags' in series" class="wv-overlay-topright"> 607 <div v-if="'tags' in content" class="wv-overlay-topright">
608 {{ series.tags['0008,1030'] }}<br/> 608 {{ content.tags['0008,1030'] }}<br/>
609 {{ app.FormatDate(series.tags['0008,0020']) }}<br/> 609 {{ app.FormatDate(content.tags['0008,0020']) }}<br/>
610 {{ series.tags['0020,0011'] }} | {{ series.tags['0008,103e'] }} 610 {{ content.tags['0020,0011'] }} | {{ content.tags['0008,103e'] }}
611 </div> 611 </div>
612 <div class="wv-overlay-timeline-wrapper wvPrintExclude"> 612 <div class="wv-overlay-timeline-wrapper wvPrintExclude">
613 <div style="text-align:left; padding:5px" v-show="numberOfFrames != 0"> 613 <div style="text-align:left; padding:5px" v-show="numberOfFrames != 0">
614 <div style="width: 12em; padding: 1em;" v-show="cineControls"> 614 <div style="width: 12em; padding: 1em;" v-show="cineControls">
615 <label> 615 <label>